loadDataWithBaseURL不会加载属于html页面的图像

时间:2012-06-22 21:37:55

标签: java android image http webview

我正在与这个问题作斗争很长一段时间,围绕Google和SO挖掘但仍然没有运气。最后,我在这里是为了得到你的帮助,请提供建议或帮助。

我对以下源代码的问题是它只显示图像不显示的字符串内容,而是显示白色矩形或有时带有问号的蓝色图像。

问:如何显示图像?

这是我的代码:

private void openURL() {

    DefaultHttpClient client = new HttpsRequest(getApplicationContext());
    HttpGet get = new HttpGet(getUrlField().getText().toString());
    // Execute the GET call and obtain the response
    HttpResponse getResponse;
    try {
        getResponse = client.execute(get);
        HttpEntity responseEntity = getResponse.getEntity();

        String content = EntityUtils.toString(responseEntity);
        getWebView().loadDataWithBaseURL(null, content, "text/html", "utf-8",
                null);

    } catch (ClientProtocolException e) {
        WSLog.e(THIS_FILE, "HTTP Error.");
        e.printStackTrace();
    } catch (IOException e) {
        WSLog.e(THIS_FILE, "Url Load Error.");
        e.printStackTrace();
    }
}

webView输出:

enter image description here

1 个答案:

答案 0 :(得分:1)

在Vasarat的帮助下,我身边的一些修改帮助我回答了这个问题。我已将以下代码行修改为

getWebView().loadDataWithBaseURL("http://mywebSite.com/parent_dir_to_iamges/", content, "text/html", "UTF-8","about:blank");

这次修改给了我预期的完美输出。

请暂停评论以了解有关此问题的详细信息。

注意:我在基本网址中使用了http而不是https .....如果我可以使用https,请告诉我。如果API级别为10或更高,则webview.Loadurl()使用https网址可以正常工作,但它会显示API级别8的空白页。