最後の編集を読んでください。
メディア データを表示するページがあります。このために、次のように 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 を使用して DB からファイルを取得すると、次のようになります。
<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 開発ツールの [ネットワーク] タブなどで) どちらの場合もファイルがクライアントにダウンロードされたことを示します。ただし、ハンドラーの場合、フラッシュは表示されません。