我正在尝试在WebView中显示以base64编码的图像。 它适用于我的大多数用户,但有些人只能看到奇怪的字符,如下图所示。
这是我显示图像的方式:
String b64Image = Base64.encodeToString(fileData, Base64.DEFAULT);
mWebView.loadData(b64Image, "image/jpeg", "base64");
问题出现在Android 2.3.6及更低版本上。
答案 0 :(得分:1)
对于Android 2.2及更低版本,您可以使用HTML包装图像并加载HTML。 例如:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
// Your original code here
} else {
byte[] imageRaw = yourImage;
String image64 = Base64.encodeToString(imageRaw, Base64.DEFAULT);
String pageData = "<img src=\"data:image/jpeg;base64," + image64 + "\" />";
//.... etc.
}
有一个错误已在2010年关闭:https://code.google.com/p/android/issues/detail?id=596