web-dev-qa-db-fra.com

Comment décoder la chaîne base64 et la convertir en pdf / jpg et l'enregistrer dans le stockage

Je voudrais décoder une chaîne base64 et la transformer en un fichier (au format pdf/jpg) et l'enregistrer sur l'appareil, comme par exemple dans (/storage/emulated/0/Download/file.pdf).

Pour encoder un fichier, j'utilise ce code:

File originalFile = new File("/mnt/sdcard/download/file.pdf");
    String encodedBase64 = null;
    try {
        FileInputStream fileInputStreamReader = new FileInputStream(originalFile);
        byte[] bytes = new byte[(int) originalFile.length()];
        fileInputStreamReader.read(bytes);
        encodedBase64=Base64.encodeToString(bytes,Base64.NO_WRAP);
        messaggio=encodedBase64.toString();
        //encodedBase64 = new String(Base64.encode(bytes));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

Maintenant, je voudrais supprimer cette chaîne base64 et la convertir en un fichier et l'enregistrer sur l'appareil ...

est-ce que quelqu'un peut m'aider?

merci à tous =)

8
Edoardo Goffredo

Vous pouvez essayer ceci:

FileOutputStream fos = new FileOutputStream(filepath);
fos.write(Base64.decode(base64String, Base64.NO_WRAP));
fos.close();

Où:

  • filepath: Chemin d'accès au nouveau fichier
  • base64String: Votre chaîne base64 que vous souhaitez convertir
17
Prerak Sola