请阅读最后的编辑。
我有一个页面,我应该在其中显示一些媒体数据。为此,我使用 html 标签,如下所示:
<object type="video/x-ms-wmv" width="320" height="240">
<param name="src" value="some_media_url" />
<param name="AutoSize" value="true">
<param name="ShowDisplay" value="false">
<param name="AutoStart" value="false">
<param name="StretchToFit" value="true">
<param name="bgcolor" value="#ffffff" />
</object>
就我而言,我应该通过一些 MediaHandler.ashx http 处理程序从 SQL 服务器获取媒体数据。当我获得音频(.mp3,.wma)或视频(.flv,.mp4)流时,这可以正常工作。但我遇到了 .swf 闪存文件的一些问题。对于这种类型的文件,我将其更改<object> type
为“application/x-shockwave-flash”。在这种情况下,当我使用一些远程路径时,例如http://www.tizag.com/pics/example.swf,它可以正常工作:
<object type="application/x-shockwave-flash" width="320" height="240">
<param name="src" value='http://www.tizag.com/pics/example.swf' />
<param name="AutoSize" value="true">
<param name="ShowDisplay" value="false">
<param name="AutoStart" value="false">
<param name="StretchToFit" value="true">
</object>
但是,它不适用于我的处理程序。它不适用于本地路径,例如“c:\videos\example.swf”
任何想法?
编辑:实际上媒体的 src 看起来像这样:
<object type="video/x-ms-wmv" width="320" height="240">
<param name="src" value="http://localhost:11111/MediaHandler.ashx?Id=1111" />
<param name="AutoSize" value="true">
<param name="ShowDisplay" value="false">
<param name="AutoStart" value="false">
<param name="StretchToFit" value="true">
<param name="bgcolor" value="#ffffff" />
</object>
编辑:
如果我直接引用现有文件,这很好用:
<object type="application/x-shockwave-flash" width="320" height="240">
<param name="src" value="/videos/ETFflash1016.swf" />
<param name="AutoSize" value="true">
<param name="ShowDisplay" value="false">
<param name="AutoStart" value="true">
<param name="StretchToFit" value="true">
</object>
但是当我使用 httpHandler 从数据库中获取文件时:
<object type="application/x-shockwave-flash" width="320" height="240">
<param name="src" value="http://localhost:57031/MediaHandler.ashx?Id=512429" />
<param name="AutoSize" value="true">
<param name="ShowDisplay" value="false">
<param name="AutoStart" value="true">
<param name="StretchToFit" value="true">
</object>
不显示闪光灯。
我已经比较了这些情况的输出 html,它们在两种情况下都是相同的(除了 src 参数值)。Fiddler 对 .swf 文件的请求显示相同的结果,并且浏览器显示(例如在 IE 开发工具的 Netwok 选项卡中)在这两种情况下文件已下载到客户端。但是在处理程序的情况下,没有显示闪光灯。