2010-01-26 34 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; 

}