1

私は Facebook でフラッシュのアプリを持っています。次のコードを使用して、サーバーに画像を送信します。

var byte_array:ByteArray = PNGEncoder.encode(bitmap_data);
var encoded:String = Base64.encodeByteArray(byte_array);
var variables:URLVariables = new URLVariables();
variables.png = encoded;

var requestToMySite:URLRequest = new URLRequest();
requestToMySite.url = SITE_URL_HTTPS + 'copy.php';
requestToMySite.method=URLRequestMethod.POST;
requestToMySite.data = variables;
var loader : URLLoader = new URLLoader();  
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.addEventListener(Event.COMPLETE, onExportComplete);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
loader.load(requestToMySite);

問題は、一部の人 (私のような) には問題なく機能しますが、他の一部の人には機能しないことです。問題をログに記録したところ、 SecurityError があることがわかりました。

[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]

一部の人には機能し、他の人には機能しない理由がわかりません。奇妙な偶然かもしれませんが、フランスにいる人 (4 人のテスター) と、外にいない人 (スイスとベルギーの 1 つのテスト) には機能します。

次の crossdomain.xml を配置しようとしました:

<?xml version="1.0" ?>
<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>

そして、私はそれをロードします

Security.loadPolicyFile(SITE_URL_HTTP + "crossdomain.xml");

(https URL ではありません)。しかし、それは何も変わりません。

何か案が ?

4

0 に答える 0