将字节 [] 转换为位图不起作用 - 空指针异常

Converting byte[] to Bitmap not working - Null pointer exception

当我执行bitmap.getHeight();我得到一个 nullPointerException。这就是我尝试获取位图的方式:

在我的json:"pic":"iVBORw0KGgoAAAANSUhEUgAAAgAAAAGACAIAAABUQk3......."

我从 json 中检索到以下内容:

byte[] decode = Base64.decode(jsonObj.getString("pic"), Base64.DEFAULT);
Log.i("size",decode.length+""); //65535
Bitmap pic = getImage(decode);

public static Bitmap getImage(byte[] image) {
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    return BitmapFactory.decodeByteArray(image, 0, image.length,options);
}

但是我无法显示图像。 有什么想法吗?

错误一定在 BitmapFactory.decodeByteArray 内,问题的根源很可能是不支持的图像格式。检查您是否传递了 base64 编码的 jpeg、png、gif 或 bmp。

此外,如果您得到 65535 作为 decode 的大小 - 这是非常可疑的。也许数据在数据库中被修剪(如果你的 blob 大小限制为 65535)或其他地方。