Bonjour,

Mon appli Android compresse une image de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 //Conversion de l'image soumise
                soumissionIMG.buildDrawingCache();
                soumissionImage = soumissionIMG.getDrawingCache();
                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                soumissionImage.compress(Bitmap.CompressFormat.JPEG, 25, stream);
                byte[] imageBytes = stream.toByteArray();
                String imageStr = Base64.encodeToString(imageBytes,Base64.NO_WRAP);
 
                sql = "?TIT=" + soumissionTitre.getText().toString() + "&MES=" + soumissionCorps.getText().toString()+ "&IMG=" + imageStr;
                interrogeServeur();
soumissionIMG est à l'origine une ImageView où s'affiche parfaitement mon image.

A l'autre bout, mon code PHP tente de la récupérer pour la sauvegarder :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$image = $_GET["IMG"];
	$titim = "M:\\Informatique\\François\\IMG\\".$titre.date("d-m-y-h-i-s").".jpg";
	$source = imagecreatefromstring(base64_decode($image));
	imagejpeg($source,$titim);
	imagedestroy($source);
Mais à ce stade, si $image n'est effectivement pas vide (semble bien correspondre à une chaine d'encodage d'une image), $source renvoie "Null" à chaque fois. J'ai essayé une étape intermédiaire avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$base64 = base64_decode($image)
Et là, $base64 renvoie également un "Null à chaque fois. J'en déduis que mon décodage n'est pas bon, mais puisque je ne trouve rien dans la doc de base64_decode qui pourrait expliquer mon erreur, faut-il en conclure que le ver est dans le fruit dès l'encodage ?

Merci de votre aide !