var is:ImageSnapshot = myImagesnapshot;
var str:String = ImageSnapshot.encodeImageAsBase64(is);
到目前为止,我正在使用上面的代码将我的 jpeg 数据发送到服务器。
问题是它几乎使数据大小增加了一倍。
有没有办法直接发送图像数据而不使用任何编码。
var is:ImageSnapshot = myImagesnapshot;
var str:String = ImageSnapshot.encodeImageAsBase64(is);
到目前为止,我正在使用上面的代码将我的 jpeg 数据发送到服务器。
问题是它几乎使数据大小增加了一倍。
有没有办法直接发送图像数据而不使用任何编码。
base64 将大小增加了三分之一,所以如果你真的有大约 100% 的开销,那么你在其他地方就有问题了。
还没有很好地查看来源,但从参考资料看来,您可以直接检索二进制数据。
只需将其放入URLRequest并按POST发送即可。
以下是不使用 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"]
您可以将快照保存为 jpg 或 png。