跨域错误/错误#2048 /安全错误

时间:2012-04-12 21:10:53

标签: actionscript-3 security cross-domain

我在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文件:仅限访问网络

此时我根本不知道问题究竟在哪里。任何建议都将受到欢迎和测试!

谢谢!

0 个答案:

没有答案