2016-04-12 3 views
5

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

Pour encoder un fichier i utiliser 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 deocde cette chaîne base64 et le convertir en un fichier et l'enregistrer sur l'appareil ...

peut quelqu'un m'aide?

Merci à tous =)

Répondre

10

Vous pouvez essayer ceci:

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

Où:

  • filepath: chemin vers le nouveau fichier
  • base64String: Votre chaîne base64 que vous voulez convertir