【问题标题】:Flex sending snapshot without using base64EncodeFlex 发送快照而不使用 base64Encode
【发布时间】:2010-03-15 06:11:09
【问题描述】:
var is:ImageSnapshot = myImagesnapshot;
var str:String = ImageSnapshot.encodeImageAsBase64(is);

到目前为止,我正在使用上面的代码将我的 jpeg 数据发送到服务器。
问题是它几乎使数据大小增加了一倍。
有没有办法直接发送图像数据而不使用任何编码。

【问题讨论】:

    标签: apache-flex image actionscript server-communication


    【解决方案1】:

    base64 将大小增加了三分之一,所以如果你真的有大约 100% 的开销,那么你在其他地方就有问题了。

    没有很好地查看来源,但从参考资料看来,您可以检索binary data directly

    只需将其放入 URLRequest 并通过 POST 发送即可。

    【讨论】:

      【解决方案2】:

      这是一个不使用 Base64 发送图像数据的示例:

       var myEncoder:JPGEncoder = new JPGEncoder(100);
       var byteArray:ByteArray = myEncoder.encode(bitmapData);
       var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
          var url:String = "../../default.php";
          var saveJPG:URLRequest = new URLRequest(url);
          saveJPG.requestHeaders.push(header);
          saveJPG.method = URLRequestMethod.POST;
          saveJPG.data = byteArray;
      

      在 PHP 端,我需要访问:

       $globalS["HTTP_raw_post_data"]
      

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 2011-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-08
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        • 2020-05-06
        相关资源
        最近更新 更多