2

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 ファイルは、アクセス プレイバック セキュリティ: アクセス ネットワークのみでエクスポートされました。

この時点で、どこに問題があるのか​​ まったくわかりません。どんな提案も歓迎され、テストされます!

ありがとうございました!

4

0 に答える 0