Domanda

var is:ImageSnapshot = myImagesnapshot;
var str:String = ImageSnapshot.encodeImageAsBase64(is);

Per ora, io mando il mio dati JPEG al server con il codice di cui sopra.
Il problema è che quasi raddoppia la dimensione dei dati.
C'è un modo per inviare i dati di immagine direttamente senza l'utilizzo di alcuna codifica.

È stato utile?

Soluzione 2

Ecco un esempio di invio di dati di immagine senza utilizzare 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;

Sul lato PHP, ho bisogno di accesso:

 $globalS["HTTP_raw_post_data"]

Altri suggerimenti

Base64 aumenta dimensioni di un terzo, quindi se davvero hanno circa il 100% in testa, è avere un problema altrove.

Non ho guardato le fonti per bene, ma dal riferimento a quanto pare, si potrebbe recuperare il dati binari nofollow noreferrer direttamente.

solo infilare che in un URLRequest e inviarlo per POST .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top