5

私は base64 形式の画像データを持っています。この base64 文字列を画像 (.PNG) ファイルに変換し、そのファイルを Android アプリケーションのローカル ファイル システムに保存したいと考えています。私に解決策を提案してください

4

2 に答える 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 に答える