luoyahu 发表于 2013-1-28 20:53:04

java上传图片检测

给用户提供上传图片功能不能只简单判断一下后缀名是否正确。而要判断图片格式是否正确。
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 AnitImg {public static void main(String[] args) {      File f = new File("c://t1.txt");      if (f.exists()) {            System.out.println(getFormatInFile(f));      }    }    // Returns the format of the image in the file 'f'.    // Returns null if the format is not known.    public static String getFormatInFile(File f) {      return getFormatName(f);    }      // Returns the format name of the image in the object 'o'.    // Returns null if the format is not known.    private static String getFormatName(Object o) {      try {            // Create an image input stream on the image            ImageInputStream iis = ImageIO.createImageInputStream(o);                // Find all image readers that recognize the image format            Iterator iter = ImageIO.getImageReaders(iis);            if (!iter.hasNext()) {                // No readers found                return null;            }                // Use the first reader            ImageReader reader = (ImageReader) iter.next();                // Close stream            iis.close();                // Return the format name            return reader.getFormatName();      } catch (IOException e) {            //      }                // The image could not be read      return null;    }} 
页: [1]
查看完整版本: java上传图片检测