2

我在 AS3 中有这个脚本,它进行屏幕截图并尝试将其发送到服务器。在本地主机上一切正常,但在部署时出现此错误:

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