Base64encode를 사용하지 않고 SNAPSHOT를 플렉스 송신합니다
-
20-09-2019 - |
문제
var is:ImageSnapshot = myImagesnapshot;
var str:String = ImageSnapshot.encodeImageAsBase64(is);
현재 위의 코드를 사용하여 JPEG 데이터를 서버로 전송하고 있습니다.
문제는 데이터의 크기를 거의 두 배로 늘린다는 것입니다.
인코딩을 사용하지 않고 이미지 데이터를 직접 보내는 방법이 있습니까?
해결책 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"]
다른 팁
Base64는 크기가 3 분의 1을 증가 시키므로 실제로 약 100% 오버 헤드가 있으면 다른 곳에 문제가 있습니다.
소스를 잘 보지 못했지만 참조에서 볼 때 이진 데이터 직접.
그냥 a에 넣으십시오 urlrequest 그리고 그것을 보내십시오 게시하다.
스냅 샷을 JPG 또는 PNG로 저장할 수 있습니다.
제휴하지 않습니다 StackOverflow