java 인증 그림 형식 gif, jpeg, png, bmp

1546 단어 자바
다시 개발 과정 에서 이미지 검증 문 제 를 만 나 오랫동안 생각 하고 코드 문 제 를 써 서 해 결 했 습 니 다.
예 를 들 어 내 가 파일 을 업로드 할 때 그림 형식 을 검증 하 는 것 은 그림 의 접미사 이름 을 바 꾸 더 라 도 문제 가 없다.
그 실험 증 사진 은 아직도 많은 방법 이 있 지만, 내 가 테스트 한 후에 잘 사용 되 지 않 았 어, 추천!!

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

좋은 웹페이지 즐겨찾기