Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用HTMLUnit从url保存图像_Java_Htmlunit - Fatal编程技术网

Java 使用HTMLUnit从url保存图像

Java 使用HTMLUnit从url保存图像,java,htmlunit,Java,Htmlunit,通过给图像URL,是否可以使用HTMLUnit将图像保存到硬盘?如果是,怎么做 问候 如果您使用的是HtmlUnit,那么您应该有一个HtmlPage。您可以通过以下方式获取HtmlImage并保存文件: HtmlImage image = page.<HtmlImage>getFirstByXPath("//img[@src='blah']"); File imageFile = new File("/path/to/file.jpg"); image.saveAs(imageFi

通过给图像URL,是否可以使用HTMLUnit将图像保存到硬盘?如果是,怎么做


问候

如果您使用的是HtmlUnit,那么您应该有一个HtmlPage。您可以通过以下方式获取HtmlImage并保存文件:

HtmlImage image = page.<HtmlImage>getFirstByXPath("//img[@src='blah']");
File imageFile = new File("/path/to/file.jpg");
image.saveAs(imageFile);
HtmlImage=page.getFirstByXPath(“//img[@src='blah']”);
File imageFile=新文件(“/path/to/File.jpg”);
image.saveAs(imageFile);

如果你有一个URL。。。那么我认为您不需要使用HtmlUnit来下载图像。

下面是我如何编写这样的代码的:

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());
        }
    }
}
NodeList nlx=downloadPage.getElementsByTagName(“a”);

对于(int y=0;yWhat),如果图像动态插入html页面。例如,使用Servlet?这样的过程将保持不变,只要图像位于从Servlet输出生成的HtmlPage中。