Android,数据url解码时出错了base-64错误

时间:2015-10-11 09:00:38

标签: javascript java android base64 decode

我想在javascript'上解码' canvas.dataURL()在android中。

byte[] decodedString = Base64.decode(var, Base64.DEFAULT);
Bitmap bm = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

但它给出了错误:

E/AndroidRuntime(29827): java.lang.IllegalArgumentException: bad base-64

我的数据网址示例:

data:image/png;base64,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

如何在javascript中解码我的数据网址?

1 个答案:

答案 0 :(得分:3)

您应该删除data:image/png;base64,

尝试

var = var.replace("data:image/png;base64,","");
byte[] decodedString = Base64.decode(var, Base64.DEFAULT);
Bitmap bm = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);