我很难尝试从网站上的虚拟URL播放视频。 我无法直接链接到视频,因为实际文件未位于网络可访问的根目录下的任何位置。而且,虚拟路径实际上是一个HTTP处理程序(ASP.Net“ASHX”),用于额外的权限检查等。从虚拟URL播放视频文件
我试图建立视频连接(使用JWPlayer,但没有得到那点), 的ASHX处理程序我在开始时被简单地传输文件使用HTTP标头下载, :content-disposition: attachment; filename=example.mp4
当我在浏览直接链接.mp4文件与虚拟链接之间比较浏览器(Chrome 20.0.1132.57)的行为时 - 我注意到直接链接会在小型嵌入式视频播放器中打开,其中as虚拟链接仅下载文件。
我已经尝试(并失败)捕获HTTP头的区别(使用Fiddler)并为视频编写一个特殊的ASHX - 这将发送与IIS完全相同的响应(没有任何特定的mp4配置,甚至没有一个哑剧式)。 我似乎无法像直接链接那样从虚拟网址中打开视频,即使我模拟了所有标题(至少,据我了解)。
我试图发出正确Content-Type & Content-Length
,使用Accept-Ranges & Content-Range
标头,甚至试图模仿两相请求时第一个不具有在Accept
头video/mp4
或*/*
(我也尝试只发送1个字节在第一个响应/在两个响应上发送整个视频)。 (当我说所有这些值是“正确的”,我的意思是它们与我在Fiddler中捕获的工作响应相同...)
请问,有人可以解释什么触发浏览器将文件视为视频? 我需要指定/省略哪些标头? (除了省略当然content-disposition: attachment
...)