Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在动作脚本中将二进制内容发送到servlet_Java_Actionscript 3_Flash_Actionscript - Fatal编程技术网

Java 如何在动作脚本中将二进制内容发送到servlet

Java 如何在动作脚本中将二进制内容发送到servlet,java,actionscript-3,flash,actionscript,Java,Actionscript 3,Flash,Actionscript,我在一个文件中有一个动作脚本函数,它将一个pdf文件作为二进制内容发送到一个servlet,如下所示 private function savePDF(pdfBinary:ByteArray, urlString:String):void{ try{ Alert.show("in savePDF urlString" +urlString); //result comes back as binary, c

我在一个文件中有一个动作脚本函数,它将一个pdf文件作为二进制内容发送到一个servlet,如下所示

private function savePDF(pdfBinary:ByteArray, urlString:String):void{

            try{
                Alert.show("in savePDF urlString" +urlString);
                //result comes back as binary, create a new URL request and pass it back to the server
                var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");

                var sendRequest:URLRequest = new URLRequest(urlString);
                sendRequest.requestHeaders.push(header);
                sendRequest.method = URLRequestMethod.POST;
                sendRequest.data = pdfBinary;

                Alert.show("in savePDF calling sendToURL"); 

                sendToURL(sendRequest);
            }catch(error:*){
                Alert.show("in savePDF err" +error);    
                trace(error);
                }
            } 
这段代码在FlashPlayer版本(如10、11、13)中运行良好

但在14.0.0.126或更高版本的FlashPlayer中失败

我得到以下错误

SecurityError: Error #3769: Security sandbox violation: Only simple headers can be used with navigateToUrl() or sendToUrl().
有关如何解决此问题的任何建议?

您可以尝试使用而不是
sendToURL()


这是由Flash Player最新版本的安全更新引起的已知问题;见和@CyanAngel的回答将允许您发送请求,而不会被此安全检查阻止。在最新版本的Flash Player中,“使用FlashVars变量将数据传递到swf文件”是否存在任何问题?我得到的所有变量都是空的,这不是我所知道的。但是,如果您不确定如何传入变量,则可能很难正确处理。如果使用URLLoader error#2044,则会出现以下错误:未处理的securityError:。text=错误#2048:安全沙箱冲突:您可能需要设置跨域策略,请参阅:
Alert.show("in savePDF urlString" +urlString);
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");

var sendRequest:URLRequest = new URLRequest(urlString);
sendRequest.requestHeaders.push(header);
sendRequest.method = URLRequestMethod.POST;
sendRequest.data = pdfBinary;

Alert.show("in savePDF calling URLLoader"); 

var loader:URLLoader = new URLLoader();
loader.load(sendRequest);