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

На данный момент я отправляю свои данные jpeg на сервер с кодом выше.
Проблема в том, что он почти удваивает размер данных.
Есть ли способ отправить данные изображения напрямую без какой-либо кодировки.Отправка флэш-снимка без использования base64Encode

ответ

0

Вот пример отправки данных изображения без использования 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"] 
1

base64 увеличивает размер на треть, поэтому, если у вас действительно есть накладные расходы на 100%, у вас есть проблема в другом месте.

не посмотрел на источники, чтобы хорошо, но из ссылки, похоже, вы можете получить binary data directly.

просто вставьте это в URLRequest и отправьте его по POST.