dev_eunz

[Java] String을 MultipartFile FileUpload 시 '이 파일 형식은 지원되지 않는 것 같습니다.' 오류 원인 본문

IT/프로그래밍

[Java] String을 MultipartFile FileUpload 시 '이 파일 형식은 지원되지 않는 것 같습니다.' 오류 원인

은그램 2024. 8. 24. 22:31
728x90
반응형

MultipartFile 업로드를 했는데, 파일이 생성되었는데

'이 파일 형식은 지원되지 않는 것 같습니다.' 라는 오류가 발생하는 게 아닌가..!

 

이럴 때에는,

String 값을 MultipartFile 으로 설정했을 때 데이터를 확인해야 한다.

 

String to MultipartFile 시,

String imageString = "~~~";
byte[] imageByte = imageString.getBytes();

MultipartFile uploadFile = new MockMultipartFile(
	"file"			// 파일명 ( html인 경우, form 타입의 id값
    , "image.jpg"	// 저장할 데이터 full name
    , "image/jpeg"	// 데이터 타입
    , imageByte );

 

이미지파일 문자열 값을 byte 로 변환해서,

MultipartFile 데이터로 만드는 것이다.

 

이 때에, String 값이 암호화되지 않은 plainText인지 확인하는 게 우선인 것 같다.

 

나의 경우에는, 

String 값이 Base64 인코딩이 되어있는 상태여서 제대로 처리되지 않았다.

 

// java 8 이상
String decImage = Base64.getDecode(imageString);


// java 1.7 이하
String decImage = Base64.decodeBase64(imageString);

 

이렇게 이미지 문자열을 디코딩 후,

해당 데이터를 byte 처리하여 위의 방식 대로 upload 처리를 하니 이미지 업로드가 정상적으로 처리되었다!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

728x90
반응형
Comments