【问题标题】:How to save and load HTML image in WebView?如何在 WebView 中保存和加载 HTML 图像?
【发布时间】:2012-09-20 08:18:54
【问题描述】:

我做了一个电子邮件申请。当用户查看 html 时,它会首先加载 HTML 图片,当用户下次查看时,它会再次从 Internet 加载 HTML 图片。它不能节省带宽。 我可以保存图像吗?如果可以的话,我可以在 WebView 中加载它吗?

【问题讨论】:

    标签: java android image webview


    【解决方案1】:

    你可以使用加载它

    web.loadDataWithBaseURL(null, getHtmlData(this,"IMAGEPATH");

    【讨论】:

      【解决方案2】:

      我将覆盖 onLoadResource(要小心,不仅是图像,还有各种资源,如 CSS)手动下载图像并将其存储在本地。


      • 另一种解决方案
        1. 下载所有 HTML 内容
        2. 解析内容以获取图像 URL
        3. 下载图像并将其存储在本地
        4. 用您的本地路径替换 URL:src="file:///android_asset/html/image2.jpg"

      【讨论】:

        【解决方案3】:

        您应该解析您的 HTML 内容以下载图像并将其放在设备 sdcard 上。 然后,您可以将 HTML 中的所有图像 src 替换为磁盘上的文件绝对路径。

        String htmlToParse = item.getContent();
        
                        Elements tags = Jsoup.parse(htmlToParse).select("img");
                        if (!tags.isEmpty()) {
                            for (Element tag : tags) {
                                String url = tag.attr("src");
                                File f = downloadImage(url);
                                htmlToParse.replace(url, f.getAbsolutePath());
                            }
                        }
        

        【讨论】:

        • 谢谢,但看起来编码并不容易。
        • 为了解析HTML内容,可以使用jsoup库。请参阅我的回复中的代码
        • 非常感谢,让我试试。
        • 感谢您的帮助,没关系。
        猜你喜欢
        • 2011-06-30
        • 1970-01-01
        • 2014-06-21
        • 2017-08-12
        • 2012-12-27
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 2011-12-11
        相关资源
        最近更新 更多