已经阅读了许多相似但没有解决方案:我尝试做某事(我认为是)非常简单,
从图库或相机拍摄照片 - 并将其发布到网址。没有保存/返回应用程序。 PNG仅在显示的网页中使用,用户向前移动。
public function postPicture():void {
PNGEncoder2.level = CompressionLevel.FAST;
var encoder : PNGEncoder2 = PNGEncoder2.encodeAsync(_bitmapData);
encoder.targetFPS = 12;
encoder.addEventListener(Event.COMPLETE, function (e):void {
var png : ByteArray = encoder.png;
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest("https://myurl.com/mypage");
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = png;
navigateToURL(jpgURLRequest, "_blank");
});
}
另外需要注意的是,我们会在网址末尾收到一些奇怪的字符:C9%90NG
Hunch是我解码然后在发送之前没有正确编码,即这些字符是原始图像信息的一部分。
当我使用另一张图片测试chrome POST扩展时,服务器端的东西工作正常,所以猜测AS3有问题。
三江源
答案 0 :(得分:0)
您需要使用分段上传。这是一个常见的情况,有明确的标准。您可以自己实施,但这需要一些时间和精力。
我之前使用过的是由Eugene Zatepyakin提供的Multipart URLLoader Class,这是最好的Flash大师之一:)
它有点老了,但工作做得非常好。您可以将变量,文件,任何内容添加到加载程序中,只需提交即可。有一些关于事物的php方面的例子,所以你可以理解发生了什么。