我的应用程序有时会显示“Sheets”,它们是包含文本和图像的HTML文件:
<p>image description </p><p><img src="/API/medias/get/vIDeos/56afad6447eba61c8099544b?thumbnail=true&company=4f86d0a9d655ab9794f5d1d2&fullSizedCover=true" alt="" data-ID="56afad6447eba61c8099544b" data-type="vIDeo" data-wIDth="640" data-height="1136" /></p>
然后我使用body.loadDataWithBaseURL(< my API url>,body,“text / HTML; charset = UTF-8”,null,null);
我不认为它是相关的,但我会说它以防万一,我有一个模板体,包含CSS和JavaScript. Js脚本检测图像点击并将“data-ID”传输到androID方法(通过JavaScriptInterface).在这种情况下,它会打开一个视频播放器并播放它.
问题:
我的应用程序允许用户下载这些表格以进行后续离线虚拟化.所以我下载了HTML,然后将图像下载到我的本地私人目录(Context.getfileDir())并更改HTML的src以将“thumbnail”源设置为我下载的图像:
<p>vIDeo</p><p><img src="69c623955ecb5bd414f908cd383f3809.jpg" alt="" data-ID="56afad6447eba61c8099544b" data-type="vIDeo" data-wIDth="640" data-height="360" /></p>
我的问题是:我将什么作为基本网址添加到我的webvIEw中以获得预期的行为(即:显示下载的图像).
我尝试了Context.getfileDir().getabsolutePath(),content://com.androID.HTMLfileprovIDer和其他一些.
我应该做不同的事吗?
非常感谢,
这很好用:
Picasso.with(iv.getContext()).load(new file(getContext().getfilesDir()“/”“69c623955ecb5bd414f908cd383f3809.jpg”).into(iv);
HTML:
<p>vIDeo</p><p><img src="69c623955ecb5bd414f908cd383f3809.jpg" alt="" data-ID="56afad6447eba61c8099544b" data-type="vIDeo" data-wIDth="640" data-height="360" /></p>
我的基本网址:baseUrl = Uri.fromfile(getContext().getfilesDir()).toString();
最后:
webvIEw.loadDataWithBaseURL(baseUrl,null);
在传递之前找到img标签并设置img src与本地存储文件的完整路径. Smth喜欢:
document doc = Jsoup.parse(newHTML);Elements elems = doc.getElementsByTag("img");for (Element el : elems) { String filename = el.attr("src"); //presumably only name String picUri = "file:///" + folder + "/"+filename; el.attr("src",picUri); }web.loadDataWithBaseURL(null,HTMLBody,"text/HTML","UTF-8",null);总结
以上是内存溢出为你收集整理的android – 从webview中的本地私有目录加载图像全部内容,希望文章能够帮你解决android – 从webview中的本地私有目录加载图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)