2008-11-03 48 views
3

我通過將Movie和Src params以及embed-tag的src屬性指向具有作爲QueryString文件名的HttpHandler來顯示flash對象。Flash 10和HttpHandler服務swf文件問題

<OBJECT codeBase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7.0.19.0" classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width="468" height="60"> 
    <PARAM NAME="Movie" VALUE="/image.ashx?serverencoded=true&amp;path=%2fapp_data%2fconfiguration%2faccount%2f21658260-9a62-425b-abb7-496ffde599a5%2fcreatives%2fswf_test_bannerA(4).swf"> 
    <PARAM NAME="Src" VALUE="/image.ashx?serverencoded=true&amp;path=%2fapp_data%2fconfiguration%2faccount%2f21658260-9a62-425b-abb7-496ffde599a5%2fcreatives%2fswf_test_bannerA(4).swf"> 
    <embed src="/image.ashx?serverencoded=true&path=%2fapp_data%2fconfiguration%2faccount%2f21658260-9a62-425b-abb7-496ffde599a5%2fcreatives%2fswf_test_bannerA(4).swf&rnd=34d5" quality="high" wmode="opaque" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"> 
    </embed> 
</OBJECT> 

它與Falsh 9播放器的安裝完美配合。安裝Flash 10後,會顯示白色背景,當我右鍵單擊對象時,「未加載電影」在Flash上​​下文菜單中顯示爲禁用的菜單項。

如果我將Movie和Src params指向一個實際的swf文件,它可以工作!

記住:運行代碼與Flash 9的作品,但不是10.沒有變化的代碼在所有做...

回答

3

回答我的問題:

我設置了內容處置HTTP標頭像這樣:

HTTP/1.1 200 OK
Content-Disposition:attachment;文件名= checkimage.jpg
的Content-Length:76127
內容類型:圖像/ JPEG

而且自Flash 10,他們忽略SWF文件送達附件關鍵字,所以我改變了頭這樣的:

HTTP/1.1 200 OK
內容處置:文件名= checkimage.jpg
內容長度:76127
內容類型:image/JPEG

現在它瓦特獸人。看看這個: http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes_02.html#head32