請閱讀最後一次編輯。無法在httpHandler頁面上顯示.swf文件
我有一個頁面,我應該顯示一些媒體數據。 對於這個我使用的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 flash文件的問題。 對於這種類型的文件,我將<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開發工具的Netwok標籤)的這兩個請求都顯示相同的結果,即在這兩種情況下文件都被下載到客戶端。 但在處理程序的情況下,不會顯示閃光燈。
如果瑞士法郎是在本地主機,爲什麼你使用絕對位置,而不是簡單的相對的?唯一的「文件夾/ file.swf」應該工作。如果你看不到它,請檢查文件本身的權限。如果您讓我們知道如何通過網絡訪問文件以便在jsfiddle中運行測試,這將非常有用。謝謝。 –