2010-03-15 7 views
0
var is:ImageSnapshot = myImagesnapshot; 
var str:String = ImageSnapshot.encodeImageAsBase64(is); 

현재로서는 위의 코드로 서버에 jpeg 데이터를 보내고 있습니다.
문제는 데이터 크기가 거의 두 배가된다는 것입니다.
인코딩을 사용하지 않고 이미지 데이터를 직접 보낼 수있는 방법이 있습니까?base64Encode를 사용하지 않고 스냅 샷을 전송하는 Flex

답변

0

: 나는 액세스 할 수 PHP 측면에서

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; 

필요

를 살펴 보자

$globalS["HTTP_raw_post_data"] 
1

base64의 크기가 3 분의 1로 늘어납니다. 따라서 실제로 오버 헤드가 약 100 % 인 경우 다른 곳에서 문제가 발생합니다.

소스를 잘 보지 못했지만 참조로 보았을 때 binary data directly을 검색 할 수 있습니다.

그냥 URLRequest에 넣고 POST으로 보내주십시오.

관련 문제