2010-01-26 70 views
1

我在HtmlUnit無頭瀏覽器中打開了一個網頁。現在該網頁包含一個圖片html標記,如下所示:如何轉換<img... in html to byte [] in Java

<img src="..." /> 

所以我只想要那個圖片。但問題是,圖像的相同src URL顯示diff。圖像每次。意思是,如果我們刷新img的src網址,那麼它會顯示差異。圖像每次。

那麼如何獲取顯示在html頁面上的圖像。

回答

1

當你得到HTMLPage,你必須通過它的一種方法來獲取圖像。然後你可以得到一個HtmlImage,它可以保存爲一個文件。您稍後必須分析此文件。

+1

哦...是...。在HtmlImage類中的方法 「()的saveAs」 功能... 。 我可以直接將Ht​​mlImage轉換爲字節[],或者我必須先保存它,然後將保存的文件轉換爲字節[]? – 2010-01-26 11:24:15

+0

可以請你看看這個問題在http://stackoverflow.com/questions/2131049/problem-in-htmlunit-api-for-java-headless-browser – 2010-01-26 11:28:35

+1

你可以使用'getWebResponse'並獲取內容作爲字節[ ] – 2010-01-26 12:54:33

0

這是你的圖像存儲與完全合格的我

protected String saveImage(String imageUrl) throws Exception { 

    InputStream inputStream; 
    OutputStream os; 
    ByteArrayOutputStream byteArrayOutputStream; 
    String destinationFile = "File path where you want ot store the image"; 
    URL url = new URL(imageUrl); 
    inputStream = url.openStream(); 
    byteArrayOutputStream = new ByteArrayOutputStream(); 
    os = new FileOutputStream(destinationFile); 
    int read; 
    String barcode = null; 
    while ((read = inputStream.read()) != -1) { 
     os.write(read); 
     byteArrayOutputStream.write(read); 
     barcode = byteArrayOutputStream.toString(); 
    } 
    inputStream.close(); 
    os.close(); 
    byteArrayOutputStream.close(); 



    return barcode; 

}