将位图转换为Base64在android中没有正确编码..我在解码时没有得到图像

时间:2017-07-17 05:34:45

标签: android bitmap base64

这是我的代码,我已经尝试了很多代码变种......

public String getStringImage(Bitmap bmp){ 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
    byte[] imageBytes = baos.toByteArray(); 
    String encodedImage = Base64.encodeToString(imageBytes,Base64.DEFAULT); 
    return encodedImage; 
}

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码对图像进行编码和解码:

//Compress img and save
private String encodeBitmapAndSave(Bitmap bitmap1) {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap1.compress(Bitmap.CompressFormat.PNG, 100, baos);
    return Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);
}

//Decompress img 
private Bitmap decodeFromFirebaseBase64(String image) throws IOException {
    byte[] decodedByteArray = Base64.decode(image, Base64.DEFAULT);
    return BitmapFactory.decodeByteArray(decodedByteArray, 0, decodedByteArray.length);
}