【发布时间】:2013-07-28 10:21:12
【问题描述】:
我有一个 Web 服务,它为我提供了一个 json,其中有一个名为“imagedata”的节点。它包含大量数据作为字符串。当我在浏览器中打印它时,它给了我有效的输入。 Base64 编码的字符串以 '=' 字符结尾。
我也在一个 html 页面中使用这个标签对其进行了测试,它工作得非常好。
<img src="data:image/png;base64,MY_BASE64_ENCODED_STRING"/>
这是我的代码;
StringBuilder b64 = new StringBuilder(dataObj.getString("imagedata"));
byte[] decodedByte = Base64.decode(b64.toString(), 0);
bitmap = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
请注意,此代码适用于较小的图像数据,但会在较大的图像数据上给出 bad-base64 异常
请帮帮我, 谢谢
【问题讨论】:
-
任何异常堆栈跟踪?
-
会建议使用 Base64.decode(dataObj.getString("imagedata"),0);直接
-
@Stacks28 仍然遇到同样的错误。 java.lang.IllegalArgumentException:bad base-64
-
如何在后台下载它(如在您的浏览器中)
-
我已经在 AsyncTask 中这样做了 @Nizam 问题是如何将其解码回位图?它只在大编码字符串中给我例外。
标签: java android json web-services base64