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 に答える