Flash 10和HttpHandler提供swf文件问题

时间:2008-11-03 13:43:50

标签: asp.net flash

我通过将Movie和Src参数以及embed-tag的src属性指向一个文件名为QueryString的HttpHandler来显示flash对象。

<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未加载”将在Flash上​​下文菜单中显示为禁用的菜单项。

如果我将Movie和Src参数指向实际的swf文件,它就可以了!

请记住:运行代码适用于Flash 9但不适用10.根本没有对代码进行任何更改...

1 个答案:

答案 0 :(得分:3)

回答我自己的问题:

我正在设置内容处理HTTP标头,如下所示:

HTTP / 1.1 200 OK
内容处理:附件; filename = checkimage.jpg
内容长度:76127
内容类型:image / JPEG

自Flash 10以来,他们忽略了使用attachment关键字提供的SWF文件,因此我将标题更改为:

HTTP / 1.1 200 OK
Content-Disposition:filename = checkimage.jpg
内容长度:76127
内容类型:image / JPEG

现在它有效。看看这个: http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes_02.html#head32