AS3 にこのスクリプトがあり、スクリーン キャプチャを作成してサーバーに送信しようとします。localhost ではすべて正常に動作しますが、展開時に次のエラーが表示されます。
errorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]
埋め込みコードは次のとおりです。
<object data="record_preview.swf" type="application/x-shockwave-flash" id="flash_38533942" width="740" height="550">
<param name="allowscriptaccess" value="always">
<param name="allownetworking" value="all">
<param name="movie" value="record_preview.swf">
<param name="wmode" value="opaque">
</object>
crossdomain.xml は次のとおりです (宛先スクリプト フォルダーとドメイン ルートの両方)。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>
負荷を管理する AS3 スクリプトは次のとおりです。
var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream");
var _swfurl:URLRequest = new URLRequest("http://domain/subfolder/script.php");
_swfurl.requestHeaders.push(header);
_swfurl.method = URLRequestMethod.POST;
_swfurl.data = screenCapture.data;
var _swfLoder:URLLoader = new URLLoader();
_swfLoder.dataFormat = URLLoaderDataFormat.TEXT;
_swfLoder.addEventListener( Event.COMPLETE, imageUrlLoaderComplete );
_swfLoder.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_swfLoder.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
_swfLoder.load( _swfurl );
関数imageUrlLoaderCompleteはscript.phpからの結果をテキスト ボックスにロードし、errorHandlerはアプリケーションによって与えられたエラーをキャッチします。
swf ファイルは、アクセス プレイバック セキュリティ: アクセス ネットワークのみでエクスポートされました。
この時点で、どこに問題があるのか まったくわかりません。どんな提案も歓迎され、テストされます!
ありがとうございました!