1

我有 html 响应,其中包含一些图像数据:

String response_string = EntityUtils.toString(response.getEntity(), "UTF-8");       
Document doc = Jsoup.parse(response_string, "UTF-8");
Elements els = doc.select("div.blockItem.vevent");
for (Element e : els) {
    Uri uri = Uri.parse(doc.select("div.blockPhoto > a[href]").get(0).attr("href"));
    String img = doc.select("img[src].photo").get(0).attr("src");  

通过这种方式,我获得了图像的相对 src,我可以使用它来请求服务器获取图像。但我不明白 - 有图像数据的响应吗?我通过以下步骤对其进行了测试:

  • 得到回应
  • 将响应的 html 作为字符串保存在内存中
  • 关闭设备与互联网的连接
  • 在 WebView 中打开 html

最后我看到页面有图像。如果响应还有图像的数据我应该如何获取它,它可能是由我用来建立连接的 HttpCient 实例散列的吗?

4

1 回答 1

0

可能您的浏览器或代理已经缓存了图像,因此关闭您的互联网连接并没有显示任何效果。

查看原始 HTML 源代码。

如果有这样的img标签:

<img src="pathToImage" />

那么图像不是响应的一部分。

如果有这样的标签:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAAD .... etc"/>

那么图像是响应的一部分。在这种情况下,您必须对数据进行 Base64 解码才能将其转换为图像。

于 2012-11-13T13:38:51.833 回答