2016-07-05 6 views
0

jsp를 통해 이미지를 업로드하려고하는데 백엔드에서 메타 데이터를 읽으려고합니다. 하지만이 오류가 발생했습니다org.apache.commons.imaging.ImageReadException : 마법 숫자를 읽지 못했습니다.

org.apache.commons.imaging.ImageReadException : 추측 형식으로 마법 번호를 읽을 수 없습니다.

final ImageMetadata metadata = Imaging.getMetadata(file.getBytes()); 

문제는 객체 파일의 MultipartFile이며 대신, 그것은 유형의 파일이어야합니다.

답변

1

오류를 피하기 위해 아래 코드를 사용하여 File의 Multipartfile을 변환했습니다.

File convFile = new File(multipart.getOriginalFilename()); 
multipart.transferTo(convFile); 
final ImageMetadata metadata = Imaging.getMetadata(convFile); 
0

음, 오류를 가정하는 것은

 int i1 = is.read(); 
     int i2 = is.read(); 
     if ((i1 < 0) || (i2 < 0)) 
      throw new ImageReadException(
        "Couldn't read magic numbers to guess format."); 

가 어떻게 든 손상된있어 이미지의 업로드를 가정, (완전한 스택 트레이스없이 말할 하드) here에서 오는 또는 파일이 잘못되었습니다. 파일 시스템에서 파일을 읽고, 처음 두 바이트를 확인한 다음, 거기에서부터 이동하는 것이 좋습니다.

+0

문제는 오브젝트 파일이 MultipartFile이고 파일 대신 File이어야합니다. –

관련 문제