flash.media.Sound不发送HTTP请求标头

时间:2010-02-19 23:03:46

标签: flex actionscript-3

我正在使用Flex 3(ActionScript 3.0)。我使用HTTP渐进式下载来播放声音文件。我想保护声音文件,只在请求来自我的flex应用程序时提供它们。我选择了最简单的解决方案,即为应用程序发送的每个请求添加HTTP标头。但是flash.media.Sound对象忽略了flash.net.URLRequest中设置的标头。这是一个例子,

URLRequest sndFile = new URLRequest("http://blah.com/media/load_sound.php");
sndFile.requestHeaders = new Array(new URLRequestHeader("req-orgin", "myflexapp"));
Sound snd = new Sound(sndFile);
snd.play();

req-origin的值在load_sound.php中为null。当我使用Firebug检查请求时,http://blah.com/media/load_sound.php的请求标头不包含标头。

有人知道为什么会忽略标头吗?有没有其他方法可以确定请求来自我的flex应用程序?

由于

1 个答案:

答案 0 :(得分:1)

出于安全原因,Flash播放器确实限制了标头支持。我相信自定义标头仅支持POST请求。有各种限制。

您可以在此处查看其他信息:http://kb2.adobe.com/cps/403/kb403030.html

在这里:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLRequestHeader.html

跨域策略文件应解决任何问题,请查看此处:

http://kb2.adobe.com/cps/403/kb403184.html

古德勒克! (你可能需要它)