java - 如何从java中的url下载图像?

标签 java url

我一直在尝试通过java从url下载图像。
我试图用很多方法解决它,但我没有成功。

我正在写我的方式,希望有人能找到哪里出错了:

使用第一种和第二种方式,当我尝试打开图像时出现以下错误:

... file appears to be damaged, corrupted, or is too large



...它的大小比它应该的要小。

我想这与编码有关。

第一种方式:
URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
InputStream in = url.openStream();
Files.copy(in, Paths.get("someFile.jpg"), StandardCopyOption.REPLACE_EXISTING);
in.close();

第二种方式:
File f= new File("c:\\image.jpg");
URL myUrl = new URL("http://www.avajava.com/images/avajavalogo.jpg");
FileUtils.copyURLToFile(myUrl, f);

使用方式 3,我在 thread "main" java.lang.IllegalArgumentException: image == null! 中得到异常

第三种方式:
URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
BufferedImage img = ImageIO.read(url);
File file = new File("downloaded.jpg");
ImageIO.write(img, "jpg", file);

我真的需要你的帮助!!!很久以前我一直试图解决它,但没有成功。

提前致谢!!!

最佳答案

您必须以方式 3 指定目标文件的完整位置:

URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
BufferedImage img = ImageIO.read(url);
File file = new File("D:\\image\\downloaded.jpg");
ImageIO.write(img, "jpg", file);

关于java - 如何从java中的url下载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641509/

相关文章:

java - 连接数据库失败,HTTP 状态 500

java - 我无法创建独立的 org.apache.log4j.Logger

facebook - 用于撰写 Facebook 电子邮件/消息的 URL(通过 URL 参数撰写电子邮件)

iphone - AVAudioPlayer 的外部 URL 为 *.m4p

JavaScript 的 URL 绝对路径在一个页面上有效,但在另一个页面上创建 ajax 错误消息

java - 如何将字符串格式的时间 ("12:45"或者它可以是 "725:00")转换为java中的分钟?

java - spring SFTP 从 byte[] 远程创建文件

Django 2 : project root url namespace not working

web-services - 自定义链接关系的 RESTful Web 服务使用 - 'rel'

java - 接受多个谓词作为方法的参数