/ / Konwertuj dane obrazu base64 do pliku obrazu (.png) i zapisz go w lokalnym systemie plików [closed] - android, image, base64

Konwertuj dane obrazu base64 do pliku obrazu (.png) i zapisz go w lokalnym systemie plików [closed] - android, image, base64

Mam dane obrazu w formacie base64, chcę przekonwertować ten ciąg base64 do pliku obrazu (.PNG) i zapisać ten plik do lokalnego systemu plików w mojej aplikacji Android. Proszę, zasugeruj rozwiązanie dla mnie

Odpowiedzi:

15 dla odpowiedzi № 1

Spróbuj tego.

FileOutputStream fos = null;
try {
if (base64ImageData != null) {
fos = context.openFileOutput("imageName.png", Context.MODE_PRIVATE);
byte[] decodedString = android.util.Base64.decode(base64ImageData, android.util.Base64.DEFAULT);
fos.write(decodedString);
fos.flush();
fos.close();
}

} catch (Exception e) {

} finally {
if (fos != null) {
fos = null;
}
}

2 dla odpowiedzi nr 2

Aby przekonwertować to w pliku obrazu, możesz użyć tego ...

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

i aby zapisać go w systemie plików, możesz użyć tego:

_bitmapScaled.compress(Bitmap.CompressFormat.PNG, 100, decodedString);
File f = new File(Environment.getExternalStorageDirectory()
+ File.separator + "test.png")
f.createNewFile();
//write the bytes in file
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());

// remember close de FileOutput
fo.close();