【问题标题】:Android: WebView loadDataWithBaseURL does not display captcha imageAndroid:WebView loadDataWithBaseURL 不显示验证码图片
【发布时间】:2011-11-08 13:22:39
【问题描述】:

我试图在我的应用程序的 WebView 中显示一个验证码 jpeg 图像(由 Java servlet 动态生成),但是,它有时会显示一个蓝色问号而不是验证码图像。以下是我在扩展WebViewClientMyWebViewClient 类的shouldOverrideUrlLoading(WebView view, String url) 方法中拥有的内容@

我在清单中启用了互联网访问,并且大约 80% 的时间都会出现问题。即,有时图像确实显示正确,但非常罕见。

这里Image with dynamic src loads in Android browser, but not in Webview还有另一个类似的问题,但似乎没有明确的答案。

提前致谢

try
            {
                CookieSyncManager.getInstance().sync();
                Log.v("Hello","CookieStore: " + httpClient.getCookieStore().toString());
                HttpResponse response = httpClient.execute(httppost);
                data = new BasicResponseHandler().handleResponse(response);
                view.loadDataWithBaseURL(URL.toString(), data, "text/html", "UTF-8" , null);
                //Log.v("Hello","Data: " + data.toString());
            }
            catch (ClientProtocolException e)
            {  
                Log.v("Hello","ClientProtocolException:Overriding");
                Log.v("Hello",e.toString());
                e.printStackTrace();    
            } 
            catch (IOException e) 
            {   
                Log.v("Hello","IOException:Overriding");
                Log.v("Hello",e.toString());
                e.printStackTrace();  
            }

【问题讨论】:

    标签: android image webview captcha loaddata


    【解决方案1】:

    我也遇到了同样的问题。我发现了这个问题并解决了它(就我而言)。您可以注意到在 HTML 代码中,img 标记的 src 指向站点的相对路径。像<img src="/relativepath/captcha.jpg?12345678"/> 这样的东西。您所要做的就是注入完整路径(主机+相对路径)以获得类似<img src="http://yourhost.com/relativepath/captcha.jpg?12345678">的内容。

    1. 逐行阅读 HTML 代码
    2. 将序列"<img src"(可能在您的站点中有些不同)与每一行匹配
    3. 当您找到该行时,您会将其拆分,直到您在 src="" 中找到链接
    4. 用主机名重建你的标签:<img src="http://host.com" + link >

    然后图像就会出现;)

    【讨论】:

      【解决方案2】:

      尝试使用view.loadUrl(URL.toString()); 而不是loadDataWithBaseURL

      【讨论】:

      • 我试过了,但是 WebView 不会显示任何图像。进一步阅读,我认为“loadUrl”方法不支持从网络/互联网加载图像。
      猜你喜欢
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      相关资源
      最近更新 更多