http://nichehire.com/Nichehire/upload/img_job_photo_burhan393@gmail.com.jpg
我需要知道给定的URL是否存在图像。 为此,我使用下面的代码。在下面的代码中,如果没有错误发生,我返回true,如果URL不包含图像,则返回false。 但是上面给出的URL即使返回true也不包含图像。 我的代码有问题吗?
public static boolean exists(String URLName) {
boolean result = false;
try {
InputStream input = (new URL(URLName)).openStream();
result = true;
} catch (IOException ex) {
System.out.println("Image doesnot exits :");
}
return result;
}
答案 0 :(得分:3)
..图像是否存在..
ImageIO.read(URL)
这确实是 唯一 方式,以确保:
some.gif
的文本文件。答案 1 :(得分:1)
try
boolean isImage(String image_path){
Image image = new ImageIcon(image_path).getImage();
if(image.getWidth(null) == -1){
return false;
}
else{
return true;
}
}
或
Image Magick project具有识别图像的功能,并且Image Magick的Java包装器名为JMagick,我认为您可能需要考虑而不是重新发明轮子:
我一直在使用Image Magick,包括命令行中的“识别”功能,它一旦识别图片就永远不会失败。回到我绝对需要该功能并且JMagick不存在的日子我已经习惯了Runtime.exec()
来自Java的ImageMagick的识别命令,它完美地工作了。现在JMagick存在,这可能不再是必要的了(但我还没有尝试过JMagick)。
请注意,它提供的不仅仅是格式,例如:
$ identify tmp3.jpg
tmp3.jpg JPEG 1680x1050 1680x1050+0+0 DirectClass 8-bit 293.582kb
$ identify tmp.png
tmp.png PNG 1012x900 1012x900+0+0 DirectClass 8-bit 475.119kb
答案 2 :(得分:1)
[求助]此源代码工作正常!
String url1 = "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xft1/t39.1997-6/p200x200/851575_126362190881911_254357215_n.png";
Image image = ImageIO.read(new URL(url1));
if(image != null){
System.out.println("IMAGE");
}else{
System.out.println("NOT IMAGE");
}
答案 3 :(得分:0)
那是因为您假设任何返回的响应都是图像,尽管您的URL可以返回任何内容,HTML,JSON ......任何内容。