如何在android studio中使用BASE64解压缩图像

时间:2019-06-30 17:45:06

标签: java android

我从String创建了ByteMap

 public String StringImage(Bitmap bitmap) {

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);

    byte[] imageByteArray = byteArrayOutputStream.toByteArray();
    String encodeImage = Base64.encodeToString(imageByteArray, Base64.DEFAULT);

    return encodeImage;
}

,然后将其放在sql服务器上。

从sql server下载此文件不是问题。下载后,我想从该字符串创建ByteMap。这意味着我需要解码该字符串并创建BitMap,但这对我来说太难了。

我在这里尝试解码字符串并创建位图

String donwloadImage = jsonObject.getString("image");
String encode = Base64.encodeToString(donwloadImage.getBytes(),Base64.DEFAULT);
byte [] bytes = Base64.decode(encode, Base64.DEFAULT);
Bitmap  bitmap= BitmapFactory.decodeByteArray(bytes,0,bytes.length);

1 个答案:

答案 0 :(得分:2)

像这样将Base64字符串转换为位图-

 byte[] decodeByte = Base64.decode(encodeImage, Base64.DEFAULT);
 Bitmap decodedBitmap = BitmapFactory.decodeByteArray(decodeByte, 0, decodeByte.length);