我的文件中有一个操作脚本函数,它将 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/