论坛首页 入门技术论坛

java 验证图片格式gif,jpeg,png,bmp

浏览 5396 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-01-06   最后修改:2010-01-06
再一次开发中遇到验证图片的问题,想了很久,写了点代码问题解决啦:

比如说我在上传文件的时候验证图片格式,即便你把图片的后缀名改了也没问题,

其实验证图片还有很多方法,但是我测试之后不是很好用,推荐!!!

import java.io.ByteArrayInputStream;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.MemoryCacheImageStream;
public class ImageHelper
{
 public static boolean validateImageType(byte[] mapObj)
 {
  boolean ret =false;
  ByteArrayInputStream bais = null;
  MemoryCacheImageInputStream mcis = null;
  try
  {
    bais = new ByteArrayInputStream(mapObj);
    mcis = new MemoryCacheImageInputStream(bais);
    Iteratoe<ImagerReader> itr = ImageIO.getImagerReaders(mcis);
    while(itr.hasNext())
    {
      ImageReader reader = (ImagerReader)itr.next();
      String imageName = reader.getClass().getSimpleName();
      if(imageName!=null &&("GIFImageReader".equals(imageName)
      ||"JPEGImageReader".equals(imageName)
      ||"PNGImageReader".equals(imageName)
      ||"BMPImageReader".equals(imageName)))
      {
        ret =true;
      }
    }
  }
  finally
  {
    //关闭流
  }
 }
 public static boolean validateImageType(InputStream input)
 {
  return validateImageType(IOUtils.toByteArray(input));
 }
}
   发表时间:2010-01-07  
说实话 lz 这句话我没明白 但是我测试之后不是很好用,推荐!!!
是lz的不好用还是别的不好用 推荐使用lz的呢 反正我先试试吧 希望
有什么问题lz也通知下
0 请登录后投票
   发表时间:2010-01-08  
whaosoft 写道
说实话 lz 这句话我没明白 但是我测试之后不是很好用,推荐!!!
是lz的不好用还是别的不好用 推荐使用lz的呢 反正我先试试吧 希望
有什么问题lz也通知下

此人说话逻辑有问题,真不知道小学语文及格过没有。
0 请登录后投票
   发表时间:2010-01-08  
那句话还真是不明白。
0 请登录后投票
   发表时间:2010-01-08  
大概理解下这句话:“其实验证图片还有很多方法,但是我测试之后不是很好用,推荐!!! ”为:

其实验证图片还有很多方法,但是我测试之后不是很好用。

推荐!!! :LZ方法
0 请登录后投票
   发表时间:2010-01-08  
kksss118 写道
大概理解下这句话:“其实验证图片还有很多方法,但是我测试之后不是很好用,推荐!!! ”为:

其实验证图片还有很多方法,但是我测试之后不是很好用。

推荐!!! :LZ方法



语文及格了~~
0 请登录后投票
   发表时间:2010-05-26  
这段代码,好多错误,不知道怎么写的
0 请登录后投票
   发表时间:2010-09-13  
写的啥啊 真是要命 自己改完了 还是不能用
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics