2016-04-12 15 views
5

Vorrei decodificare una stringa base64 e trasformarla in un file (come pdf/jpg) e salvarla sul dispositivo, come ad esempio in (/storage/emulated/0/Download/file.pdf).Come decodificare la stringa base64 e convertirla in pdf/jpg e salvarla nella memoria

Per codificare un file di questo codice:

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(); 
    } 

Ora, vorrei deocde questa stringa base64 e convertirlo in un file e salvarlo sul dispositivo ...

lattina qualcuno mi aiuti?

Grazie a tutti =)

risposta

10

Si può provare questo:

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

Dove:

  • filepath: Percorso per il nuovo file
  • base64String: La stringa Base64 che si desidera convert
Problemi correlati