如何从html获取图像数据

时间:2012-11-13 12:00:23

标签: java android web

我有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实例进行哈希?

1 个答案:

答案 0 :(得分:0)

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

查看原始HTML源代码。

如果有img标记,请执行以下操作:

<img src="pathToImage" />

然后图像不是响应的一部分。

如果有标签:

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

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