无法显示Base64编码的图像

时间:2014-02-23 19:04:58

标签: android

我正在尝试在WebView中显示以base64编码的图像。 它适用于我的大多数用户,但有些人只能看到奇怪的字符,如下图所示。

这是我显示图像的方式:

String b64Image = Base64.encodeToString(fileData, Base64.DEFAULT);
mWebView.loadData(b64Image, "image/jpeg", "base64");

问题出现在Android 2.3.6及更低版本上。

1 个答案:

答案 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