android – 从webview中的本地私有目录加载图像

android – 从webview中的本地私有目录加载图像,第1张

概述背景: 我的应用程序有时会显示“Sheets”,它们是包含文本和图像的html文件: <p>image description </p><p><img src="/api/medias/get/videos/56afad6447eba61c8099544b?thumbnail=true&company=4f86d0a9d655ab9794f5d1d2&fullSizedCover 背景:

我的应用程序有时会显示“Sheets”,它们是包含文本和图像的HTML文件:

<p>image description </p><p><img src="/API/medias/get/vIDeos/56afad6447eba61c8099544b?thumbnail=true&amp;company=4f86d0a9d655ab9794f5d1d2&amp;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);

解决方法 如果您已下载/拥有模板,则可以尝试使用null baseUrl,并将该HTML模板作为正文传递给webvIEw.
在传递之前找到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中的本地私有目录加载图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123905.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存