Kann ich ein Bild mit HTMLUnit auf der Festplatte speichern, indem ich ihm die Bild-URL gebe? Wenn das so ist, wie?Bild von URL mit HTMLUnit speichern
Grüße!
Kann ich ein Bild mit HTMLUnit auf der Festplatte speichern, indem ich ihm die Bild-URL gebe? Wenn das so ist, wie?Bild von URL mit HTMLUnit speichern
Grüße!
Wenn Sie HtmlUnit verwenden, sollten Sie eine Html-Seite haben. Dort können Sie eine Htmlimage erhalten und die Datei auf diese Weise sparen:
HtmlImage image = page.<HtmlImage>getFirstByXPath("//img[@src='blah']");
File imageFile = new File("/path/to/file.jpg");
image.saveAs(imageFile);
Falls Sie eine URL zu tun haben ... dann glaube ich nicht, Sie Htmlunit brauchen um das Bild herunterzuladen.
Hier ist, wie ich den Code wie folgt geschrieben:
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());
}
}
}
Was passiert, wenn das Bild dynamisch in der HTML-Seite eingefügt wird. Zum Beispiel mit einem Servlet? wie http://example.com/servlet/GetImage&key=1234 –
Dieser Prozess wird gleich bleiben, solange das Bild in der resultierenden HtmlPage von der Servlet-Ausgabe generiert wird. –