Question

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

A partir de maintenant, je vous envoie mes données jpeg au serveur avec le code ci-dessus.
Le problème est qu'il double presque la taille des données.
Est-il possible d'envoyer les données d'image directement sans utiliser le codage.

Était-ce utile?

La solution 2

Voici un exemple d'envoyer des données d'image sans utiliser 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;

Sur le côté PHP, je dois accès:

 $globalS["HTTP_raw_post_data"]

Autres conseils

base64 augmente la taille d'un tiers, donc si vous avez vraiment environ 100% de frais généraux, vous avez un problème ailleurs.

n'ont pas examiné les sources de bien, mais de la référence, il semble, vous pouvez récupérer le noreferrer données binaires directement.

juste rentrer que dans un URLRequest et l'envoyer par POST .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top