【问题标题】:How to display local images from a remotely loaded URL web page?如何从远程加载的 URL 网页显示本地图像?
【发布时间】:2013-06-01 22:27:11
【问题描述】:

我已经实现了一个移动网页,其中一些图片引用了 android 资产中的一些图片。

<img src="file:///android_asset/assets/pictures/1.jpg" border="0" />

(1.jpg在android目录/assets/pictures/下)

这个页面放在我的服务器上。

在活动中,此网页被加载到 webview 中。但是为什么webview不能显示那张图片呢?

webview.loadUrl("http://abc.com/page.html");

=======编辑========

这里是设置

    final MyActivity activity = this;
    webview.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int progress) {
            activity.setProgress(progress * 1000);
        }
    });
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode,
            String description, String failingUrl) {

        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
    webview.loadUrl("http://abc.com/page.html");

Android SDK:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

【问题讨论】:

  • 应该不是你提到的图片标签的问题,你能不能同时指定android版本和可能你在代码中所做的webchromeclient设置

标签: android


【解决方案1】:

由 loadUrl() 方法加载的页面不会加载与 file:///android_asset/... 链接的图像,但您可以使用 org.apache.http.client.methods.HttpGet.HttpGet() 和然后使用 loadDataWithBaseURL() 将其传递给 WebView - 这样 WebView 将加载与 file:///android_asset/... 链接的资源...

【讨论】:

    【解决方案2】:

    您可以在页面内容中使用 base64 嵌入图像(无需为指向受限文件系统的链接而苦恼)

    <img src="data:image/jpg;base64,xxxxxxxxx"/>
    

    【讨论】:

      猜你喜欢
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 2023-03-31
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      相关资源
      最近更新 更多