判断文件是否为图片,仅通过后缀名判断很不全面,如果把一个txt文件后缀改成gif都会被认为是图片,通过java可以判断文件本身是否为图片,可以防止用木马病毒伪装成图片。图片上传时,同时要限制上传文件大小,以防对服务器可用性造成冲击。
package com.tx.img;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class IsImageFile {
public static void main(String[] args) throws IOException {
File file=new File("D:\\java_work\\img\\Firefox.png");
System.out.println(isImageFile(file));
}
public static boolean isImageFile(File file) {
ImageInputStream iis = null;
try {
iis = ImageIO.createImageInputStream(file); // resFile为需被
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {// 文件不是图片
System.out.println("此文件不为图片文件");
return false;
}
iis.close();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
}