Java java.net.MalformedURLException:无协议从URL保存图像文件

时间:2015-10-17 02:25:46

标签: java image url

我希望从以.jpg扩展名结尾的网站网址中保存图片。以下是我使用的代码:

private void saveImage(String imageURL){
    Image img = null;
    imageURL = imageURL.substring(2);
    try {
        URL url = new URL(imageURL);
        img = ImageIO.read(url);
    } catch (IOException e) {
        e.printStackTrace();
    }

    BufferedImage bimage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);

    // Draw the image on to the buffered image
    Graphics2D bGr = bimage.createGraphics();
    bGr.drawImage(img, 0, 0, null);
    bGr.dispose();

    try {
        ImageIO.write(bimage, "jpg", new File(System.getProperty("user.home") + "/Desktop/image.jpg"));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

示例网址是:i.imgur.com/fq4ZpIEb.jpg。

但是,每次运行此代码时,都会返回以下错误消息:

java.net.MalformedURLException: no protocol: i.imgur.com/fq4ZpIEb.jpg

有谁知道解决方案?谢谢!

2 个答案:

答案 0 :(得分:1)

  

java.net.MalformedURLException:无协议:i.imgur.com/fq4ZpIEb.jpg

您需要“http://”

即:“http://i.imgur.com/fq4ZpIEb.jpg”将是网址。

答案 1 :(得分:1)

您必须在图片网址中指定协议httphttpsftp