AS3 POST png到PHP

时间:2014-06-10 19:16:52

标签: actionscript-3 post png

已经阅读了许多相似但没有解决方案:我尝试做某事(我认为是)非常简单,

从图库或相机拍摄照片 - 并将其发布到网址。没有保存/返回应用程序。 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有问题。

  • 我使用chrome浏览>时基本上正常工作my.png并在页面上发布它。我错过了AS3 png编码器的东西吗?即如何将bmpdata变成一个'文件'而不是一个字节数组。

三江源

1 个答案:

答案 0 :(得分:0)

您需要使用分段上传。这是一个常见的情况,有明确的标准。您可以自己实施,但这需要一些时间和精力。

我之前使用过的是由Eugene Zatepyakin提供的Multipart URLLoader Class,这是最好的Flash大师之一:)

它有点老了,但工作做得非常好。您可以将变量,文件,任何内容添加到加载程序中,只需提交即可。有一些关于事物的php方面的例子,所以你可以理解发生了什么。