【问题标题】:Java - Download image from URLJava - 从 URL 下载图像
【发布时间】: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,并指定系统上将保存图像的路径。

我做错了什么?

你的帮助会很棒! 提前致谢

【问题讨论】:

标签: java image url download


【解决方案1】:
String finalURL(String url) {
    HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
    con.setInstanceFollowRedirects(false);
    con.connect();
    return con.getHeaderField("Location").toString();
}

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 2015-10-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多