繁体   English   中英

使用java从url复制图像

[英]Copying an image from url using java

我正在尝试从URL下载图像。 我使用Apache Commons库:

org.apache.commons.io.FileUtils
                .copyURLToFile(
                        new URL(
                                "https://lh3.ggpht.com/AXYMUV5cpne2vE9U3X8x87HgrbwijwiG50_yOnehU2MUPKDoJky-BKFOPZzZ07Pug8U=h230"),
                        new File("test.png"));

打开图像时,它不是PNG文件。 这是将图像从网址下载到本地的好方法吗?

更新 。 谢谢你们的回答我不知道我需要得到connection.getContentType(); 然后将其保存为jpg或png。

如果你检查网址,它是JPEG文件。 将文件名重命名为test.jpeg后尝试执行程序。

检查内容类型请参阅此SO问题 然后使用此选项将文件保存为正确的类型。

在此URL上运行wget并查看HTTP响应,看起来文件类型明确指定为JPEG:

--2012-06-27 16:55:30--  https://lh3.ggpht.com/AXYMUV5cpne2vE9U3X8x87HgrbwijwiG50_yOnehU2MUPKDoJky-BKFOPZzZ07Pug8U=h230
Resolving lh3.ggpht.com... 74.125.237.108, 74.125.237.106, 74.125.237.107, ...
Connecting to lh3.ggpht.com|74.125.237.108|:443... connected.
HTTP request sent, awaiting response... 
  HTTP/1.0 200 OK
  Access-Control-Allow-Origin: *
  ETag: "v1"
  Expires: Thu, 28 Jun 2012 06:50:40 GMT
  Content-Disposition: inline;filename="unnamed.jpg"
  Content-Type: image/jpeg
  X-Content-Type-Options: nosniff
  Date: Wed, 27 Jun 2012 06:50:40 GMT
  Server: fife
  Content-Length: 46597
  X-XSS-Protection: 1; mode=block
  Cache-Control: public, max-age=86400, no-transform
  Age: 290
  Connection: Keep-Alive
Length: 46597 (46K) [image/jpeg]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM