Bonjour,

J'aimerai connaitre le nombre maximum de caractères que peut représenter une image compressée de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ByteArrayOutputStream stream = new ByteArrayOutputStream();
soumissionImage.compress(Bitmap.CompressFormat.PNG, 25, stream);
byte[] imageBytes = stream.toByteArray();
String imageStr = Base64.encodeToString(imageBytes,0);
Au passage, en instruisant ma question, je me rends compte que le 25 (% ?) ne sert à rien sur du PNG ! Il faut donc que je le transmette en .JPEG, ça ira mieux.

Mais cela ne change rien à la question de base. Je veux transmettre cette image de mon portable vers un serveur via un script PHP. Pour diverses raisons, j'utilise une méthode GET, j'ai donc augmenté le paramètre LimitRequestLine à 30000, et ça passe. Mon image de départ fait 39 Ko, comme j'ai balancé sur du PNG, a priori, mon 25 ne sert à rien.

Mais l'idée sera :

1 - de ne pas autoriser l'envoi d'image > 50 Ko (existe-t-il une méthode pour garantir ce résultat ?)
2 - être sûr qu'une image de 50 Ko passe dans un tuyau de max 30000 caractères (et là, j'avoue avoir beaucoup de mal à trouver une règle de conversion claire !).

Merci de votre aide.