android - 当我通过 android webview 加载 html 文件时,html 文件中缺少图像

标签 android base64 android-webview image

我正在从网络服务器下载一个 HTML 表单并在 android webview 上显示该表单。 HTML 文件中的图片很少(图片 src 是用 Base64 编码的)。但是图像没有显示。

问题出在哪里?

myBrowser.loadDataWithBaseURL("", downloadedFormContent , "text/html", "UTF-8", null);

我已将表单内容保存到本地 html 文件 (/sdcard/test.html) 并加载 html 文件。但仍然没有显示图像。

myBrowser.loadUrl("file:///sdcard/test.html");

如果我使用网络浏览器(IE、Chrome)打开同一个 HTML 文件,我可以看到所有图像。

我哪里错了?

Here is the src of html file :

<html>
<head>
    <title>Assignment Form</title>
    <style type="text/css">
      //css goes here
 </style>
</head>
<body> 

<img src="data:image;base64,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" width="200px" height="90"  alt="installer_signature" />
</body></html>

最佳答案

只是替换

data:image;base64,

data:image/png;base64,

您在 src 中缺少图像的 content-type

关于android - 当我通过 android webview 加载 html 文件时,html 文件中缺少图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947354/

相关文章:

java - Android 服务变红

android - IllegalStateException: fragment <ThisFragment> 当前不在 FragmentManager 中

rust - 如何从 Vec<u8> 写入文件?

qt - 如何在Qt中将QPixmap转换为base64 QString?

java - 从 MainActivity 类中的另一个函数访问 WebView

java - 如何删除 android studio 中抽屉导航 Activity 中的设置选项?

Android webview 应用程序和 Google Analytics

android - 安卓前置摄像头

javascript - 如何在我的 PhoneGap 应用程序中显示外部网站,包括自己的页眉/页脚

javascript - Base64 html图像不能复制和粘贴