Partage
  • Partager sur Facebook
  • Partager sur Twitter

decodage base64

    3 février 2022 à 13:15:40

    bonjour

    j'ai un client android qui envoie à un serveur spring boot une image encodée en base64.

    côté client (octets de l'image contenus dans la variable bytes) :

    String encodedImage = Base64.encodeToString(bytes, Base64.DEFAULT);

    côté serveur (base64 contenu dans la variable imageb64) :

    byte[] decodedImage = Base64.getDecoder().decode(imageb64.getBytes(StandardCharsets.UTF_8));


    Mais spring boot me lève cette erreur :

    2022-02-03 13:14:07.713 ERROR 37195 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Illegal base64 character a] with root cause
    
    java.lang.IllegalArgumentException: Illegal base64 character a
    	at java.base/java.util.Base64$Decoder.decode0(Base64.java:847) ~[na:na]
    	at java.base/java.util.Base64$Decoder.decode(Base64.java:566) ~[na:na]

    pourtant, si j'enregistre le base64 dans un fichier et que je le decode avec un utilitaire base64, je retrouve bien mon image.

    exemple sous linux :

    cat mon_imageb64.txt | base64 --decode > output.jpeg



    • Partager sur Facebook
    • Partager sur Twitter

    decodage base64

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown