문제

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 그리고 그것을 보내십시오 게시하다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top