在Web程序中,如果限制上传文件为图片,大部分方法都采取检查文件扩展名。这样,当把一个非图片文件的扩展名改为jpg、gif或者bmp时,就能绕过限制。所以必须得通过读取文件内容来进行判断。这里提供两种实现代码。
1、
ImageInputStream iis = ImageIO.createImageInputStream(resFile);//resFile为需被
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {//文件不是图片
System.out.println("此文件不为图片文件");
}
2、
BufferedImage bi = ImageIO.read(resFile);
if(bi == null){
System.out.println("此文件不为图片文件");
}
1、
ImageInputStream iis = ImageIO.createImageInputStream(resFile);//resFile为需被
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {//文件不是图片
System.out.println("此文件不为图片文件");
}
2、
BufferedImage bi = ImageIO.read(resFile);
if(bi == null){
System.out.println("此文件不为图片文件");
}