java - 如何在 Action Script 中将二进制内容发送到 servlet

标签 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, 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);
                }
            } 

此代码在 Flashplayers 版本(如 10、11、13)中运行良好

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

我收到以下错误

SecurityError: Error #3769: Security sandbox violation: Only simple headers can be used with navigateToUrl() or sendToUrl().

关于如何解决这个问题有什么建议吗?

最佳答案

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

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);

关于java - 如何在 Action Script 中将二进制内容发送到 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845806/

相关文章:

Java嵌套for循环

actionscript-3 - 为每台计算机生成静态唯一 ID,而不将其存储在本地 ActionScript 中

flash - BitmapData.draw clipRect 未按预期工作

flash - 如何在全屏模式下启用键盘输入?

flash - Flash AS3错误堆栈路径

c# - 如何检测是否从 C# for Firefox 安装了 flash?

java - 部署 Vaadin 应用程序

java - 如何为我的图表创建可运行的线程?

java - 调试问题关闭 Apache Tomcat

actionscript-3 - 用于 as3/flex 项目的 CI 友好型自动化构建