gpt4 book ai didi

actionscript-3 - Flash AS3 - URLLoader 无法加载来自不同域的二进制数据

转载 作者:行者123 更新时间:2023-12-04 05:55:24 25 4
gpt4 key购买 nike

两个重要的点。
1 - SWF 必须能够从任何域加载二进制数据。
2 - SWF 无法从 url 加载策略 XML 文件,因为上传表单只允许我上传 swf 文件,所以我不能包含任何其他数据。
我试过:

Security.allowDomain("*");

但它仅适用于 SWF 文件。
我尝试嵌入策略 XML 文件:
var dataXML:XML = 
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>;

但是 Security.loadPolicyFile(url:String) 只允许设置文件 url,而不是数据。
所以我的问题是,如何允许 SWF 加载来自不同域的二进制文件而无需任何其他文件?
URLLoader 代码:
var request:URLRequest = new URLRequest("http://differentdomain.com/binaryfile.dat");
var words:URLLoader = new URLLoader();
words.dataFormat = URLLoaderDataFormat.BINARY;
words.addEventListener(Event.COMPLETE, prepareFile);
words.addEventListener(IOErrorEvent.IO_ERROR, loadError);
words.addEventListener(SecurityErrorEvent.SECURITY_ERROR, secureError);
words.load(request);

如果文件来自与 SWF 文件不同的域,这将产生安全错误。
谢谢你的帮助。

可以使用 AS3 代码中的 ExternatInterface 从 JavaScript 获取二进制数据。
这是用于读取二进制文件的跨浏览器库: binary reader及更高版本 jDataView
希望这会帮助某人。
感谢 Jonatan Hedborg 的想法。

最佳答案

您应该在此之前阅读:http://kb2.adobe.com/cps/142/tn_14213.html

您可以使用代理脚本,在 google/stackoverflow 上搜索您会找到很多答案...

关于actionscript-3 - Flash AS3 - URLLoader 无法加载来自不同域的二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9568649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com