我开发了一个自定义信使应用程序,它将消息从客户端(Android)发送到另一个客户端(网络)。我的问题是当我发送图像文件时,我将其编码为Base64字符串,然后将其发送给另一个客户端。当接收方客户端为Android时,应用程序成功将Base64String解码为位图图像。但是当接收方客户端是 Web 应用程序时,Web 应用程序无法使用以下方式对其进行解码和显示:
<img id="img" src="data:image/jpeg;base64,3iVBORw0KGgoAAAANSU...">
Run Code Online (Sandbox Code Playgroud)
我的 Java 编码/解码方法
public static Bitmap base64StringToBitmap(String base64) {
byte[] bytes = Base64.decode(base64, Base64.URL_SAFE);
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
public static String bitmapToBase64String(Bitmap bmp, Bitmap.CompressFormat format, int quality) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(format, quality, baos);
byte[] bytes = baos.toByteArray();
return Base64.encodeToString(bytes, Base64.URL_SAFE);
}
Run Code Online (Sandbox Code Playgroud)
我尝试将编码方法更改为Base64.DEFAULT,但仍然Base64无法使用 .html 在 HTML 中显示字符串data:image/jpeg;base64。AndroidBase64字符串和Base64用于在 HTML 中显示图像的字符串之间有什么区别吗?请给我建议解决方案。谢谢
编辑 :
这是从我的 Android 应用程序生成的带有填充的 base64 字符串示例。我未能在 …