Có thể lưu hình ảnh vào đĩa cứng với HTMLUnit bằng cách cho nó URL hình ảnh không? Nếu thế thì sao?Lưu hình ảnh từ url bằng HTMLUnit
Trân trọng!
Có thể lưu hình ảnh vào đĩa cứng với HTMLUnit bằng cách cho nó URL hình ảnh không? Nếu thế thì sao?Lưu hình ảnh từ url bằng HTMLUnit
Trân trọng!
Nếu bạn đang sử dụng HtmlUnit thì bạn nên có một HtmlPage. Ở đó bạn có thể nhận được HtmlImage và lưu tệp theo cách này:
HtmlImage image = page.<HtmlImage>getFirstByXPath("//img[@src='blah']");
File imageFile = new File("/path/to/file.jpg");
image.saveAs(imageFile);
Nếu bạn có URL ... thì tôi không nghĩ bạn cần HtmlUnit để tải xuống hình ảnh.
Sau đây là cách tôi đã viết đoạn code như thế này:
NodeList nlx = downloadPage.getElementsByTagName("a");
for (int y = 0; y<nlx.getLength(); y++) {
String ss = nlx.item(y).toString();
if(ss.contains("download/?fileformat=kml")) {
System.out.println(ss);
HtmlElement anchorAttachment = (HtmlElement)nlx.item(y);
InputStream is =anchorAttachment.click().getWebResponse().getContentAsStream();
try {
//System.out.println(is);
OutputStream out = new FileOutputStream(new File(fileName+".KML"));
int read=0;
byte[] bytes = new byte[1024];
while((read = is.read(bytes))!= -1) {
out.write(bytes, 0, read);
}
is.close();
out.flush();
out.close();
System.out.println("New file created!");
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
gì nếu hình ảnh động chèn trong trang html. Ví dụ, với một Servlet? như http://example.com/servlet/GetImage&key=1234 –
Quá trình này sẽ vẫn giữ nguyên miễn là hình ảnh có trong kết quả HtmlPage được tạo từ đầu ra servlet. –