2012-08-16 78 views
0

加载数据我有一个应用程序,它的上传/下载从box.net文件到/。该应用程序在没有部署到服务器上时工作正常,但是当我将其部署到Google App Engine时,会遇到以下错误。安全沙箱冲突不能从box.net

错误#2044:未处理的securityError :. text =错误#2048:安全沙箱违例:http://somexyz.appspot.com/xyzsample.swf无法从http://box.net/api/1.0/download/abcdef/123456加载数据。

我已经包含在AS3

Security.allowDomain("*"); 

下面行的代码,并放置在为crossdomain.xml应用根文件夹(谷歌应用程序引擎),并且可以访问使用somexyz.appspot.com/crossdomain该文件。 XML

的crossdomain.xml包含以下行

<?xml version="1.0"?> 

<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"> 

<cross-domain-policy> 

    <site-control permitted-cross-domain-policies="all"/> 

    <allow-access-from domain="*" to-ports="*"/> 

    <allow-http-request-headers-from domain="*" headers="*"/> 

    <allow-http-request-headers-from domain="*"/> 

</cross-domain-policy> 

我也得到了同样的问题,当我试图全光照g tomcat。

回答

5

如果从box.net加载,你需要检查http://box.net/crossdomain.xml

在那里你可以阅读以下内容:

<!-- 
Box has recently changed its crossdomain policy for API calls made from Flash. 
To continue using Box API, please add the following line to the code of your Flash 
application: 
- AS2: System.security.loadPolicyFile("http://www.box.net/api/crossdomain.xml"); 
- AS3: Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml"); 
--> 

UPDATE

请确保您将它添加corectly:

Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml") 

而当负载:

*.load('http://www.box.net/api/1.0/download/abcdef/123456'); 

,这样的路径,服务器将是相同的:http://www.box.net/

对于闪光灯http://www.box.net/http://box.net/ 2个不同的域名。

+0

感谢您的答复,我已经通过将调用Security.loadPolicyFile(“http://www.box.net/api/crossdomain.xml”)完成的;我的代码中的 但问题仍然存在。 – user1602397 2012-08-16 08:03:52

+0

已更新的答案! – 2012-08-16 08:35:16

相关问题