我有base64格式的图像数据,我想将此base64字符串转换为图像(.PNG)文件并将该文件保存到我的android应用程序中的本地文件系统中。请为我建议一个解决方案
问问题
17739 次
2 回答
21
试试这个。
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;
}
}
于 2013-01-18T07:25:48.347 回答
2
要将其转换为图像文件,您可以使用此...
byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
并将其保存到文件系统,您可以使用它:
_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();
于 2013-01-18T07:19:08.730 回答