【发布时间】:2017-06-12 11:44:11
【问题描述】:
我正在尝试从 java 中的以下 url 下载图像: http://placehold.it/600/24f355
如果您点击上面的网址,您将看到一个占位符图片。
官方持有图片的url是https://placeholdit.imgix.net/~text?txtsize=56&bg=24f355&txt=600%C3%97600&w=600&h=600
注意:请注意,我只能直接访问第一个 URL。除了通过浏览器手动跟踪第一个网址之外,我无法知道最终的网址
我尝试了多种方法来下载这张图片,但都没有成功。
我目前预计下载图像的代码如下:
(代码下载了无法打开的图片..)
public void saveImage(String imageUrl, String path) {
// This method only saves the "dummy" image
try{
URL url = new URL(imageUrl);
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(path);
byte[] b = new byte[2048];
int length;
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
is.close();
os.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
该函数接收我在顶部引用的图像 url,并指定系统上将保存图像的路径。
我做错了什么?
你的帮助会很棒! 提前致谢
【问题讨论】:
-
我不这么认为,我已经讨论了一天了。我认为问题在于我提供给函数的网址不是图片@BenArnao 的“官方”网址
-
那你为什么不给它官方网址呢?
-
我只能访问 placehold.it/600/24f355 网址。另一个我不知道。我只知道我是否通过 chrome @BenArnao 手动跟踪它