【发布时间】:2010-12-31 09:10:53
【问题描述】:
我有一个存储媒体文件 (.avi f.e.) 的 sql 数据库。我将 aspx 页面 (VIDEOPAGE) 中的视频提取为字节数组,并将其发送到另一个调用此页面的网页(必须是这种方式),并使用呈现 Windows 媒体播放器控件的 html 对象标记显示视频。
我使用的语法是:
Response.ContentType = contentType;
Response.AddHeader("Content-Disposition", string.Format("attachment; filename ={0}",myAttachment.FileName));
Response.OutputStream.Write(myAttachment.Attachment, 0, myAttachment.Attachment.Length)
这适用于所有 mpeg 和 wmv 文件,但在 avi 上失败! contentType 变量包含正确的内容类型(我知道这是因为以下原因:
当我不使用对象标签而只是从数据库中加载带有 avi 文件和上述语法的 VIDEOPAGE 页面时,它会显示一个“你要打开..”对话框,我点击确定,然后视频确实以 WMP 格式显示。
我尝试将Content-Disposition 更改为hidden 和inline。什么都没有。。
有什么想法吗?
【问题讨论】:
-
我不认为将整个视频存储在 SQL 数据库中是特别可取的。通常,最好在文件系统上存储视频的路径,而不是在其中包含包含视频数据的大量 BLOB。
标签: c# http content-disposition