我正在使用webview在屏幕上显示html页面。我的html页面包含图像标记,其中所有图像都存储在具有子文件夹的android资源文件夹中
资产/ userfile的/图像/ 01.JPG 资产/ userfile的/图像/ 04.jpg
我在java类
中使用以下代码加载htmlString htmlFilename = "sample.html";
AssetManager mgr = getBaseContext().getAssets();
try {
InputStream in = mgr.open(htmlFilename, AssetManager.ACCESS_BUFFER);
String htmlContentInStringFormat = StreamToString(in);
htmlWebView.loadDataWithBaseURL("file:///android_asset", htmlContentInStringFormat, "text/html", "utf-8", null);
} catch (IOException e) {
e.printStackTrace();
}
我的HTML代码是
<p><img alt="Comet 67P" src="/userfile/images/01.jpg" style="float:right; height:239px; width:300px" /></p>
<p><img alt="Comet 67P" src="/userfile/images/04.jpg" style="float:right; height:239px; width:300px" /></p>
但是在webview中没有加载图像。
相反,如果我替换java代码
htmlWebView.loadDataWithBaseURL("file:///android_asset/userfile/images/", htmlContentInStringFormat, "text/html", "utf-8", null);
如果将html更改为
<p><img alt="Comet 67P" src="01.jpg" style="float:right; height:239px; width:300px" /></p>
<p><img alt="Comet 67P" src="04.jpg" style="float:right; height:239px; width:300px" /></p>
然后它正常工作.. &#34; / userfile的/图像/&#34;是从服务器动态生成的,因此我不想将其作为baseURL
答案 0 :(得分:0)
你有没有试过这样的事情:
htmlWebView.loadDataWithBaseURL(null, htmlContentInStringFormat, "text/html", "utf-8", null);
<p><img alt="Comet 67P" src="file:///android_asset/userfile/images/01.jpg" style="float:right; height:239px; width:300px" /></p>
<p><img alt="Comet 67P" src="file:///android_asset/userfile/images/04.jpg" style="float:right; height:239px; width:300px" /></p>