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));
}
}