判斷文件是否爲圖片,僅通過後綴名判斷很不全面,如果把一個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;
}
}