Bonjour,
Mon appli Android compresse une image de la façon suivante :
soumissionIMG est à l'origine une ImageView où s'affiche parfaitement mon image.
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();
A l'autre bout, mon code PHP tente de la récupérer pour la sauvegarder :
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
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);
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $base64 = base64_decode($image)
Merci de votre aide !
Partager