2016-04-12 12 views
5

Chciałbym odszyfrować ciąg base64 i przekształcić go w plik (jako pdf/jpg) i zapisać go w urządzeniu, jak na przykład w (/storage/emulated/0/Download/file.pdf).Jak odkodować ciąg base64 i przekonwertować go na pdf/jpg i zapisać w pamięci

Aby zakodować plik używam tego kodu:

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

Teraz chciałbym deocde ten ciąg base64 i przekształcić go w pliku i zapisać go na urządzeniu ...

puszkę niech ktoś mi pomoże?

dziękuję wszystkim =)

Odpowiedz

10

Można spróbować to:

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

Gdzie:

  • filepath: Ścieżka do nowego pliku
  • base64String: Twój base64 ciąg, który chcesz przelicz