[TIL] 230830 이미지 파일만 업로드하기

CountryGirl·2023년 8월 30일

TIL

목록 보기
53/80

📌 문제점 & 시도 & 해결

👿 문제점

으.. 나의 실수.........

게시글을 작성할 때 파일을 업로드하게 된다.
이미지 파일만 업로드가 되어야한다. 하지만 내가 작성한 코드는 모든 파일 형식이 업로드가 가능하다. 하지만 클라이언트 쪽에서는 이미지 파일만 보여지기 때문에 파일이 깨진 것처럼 보인다.

유저피드백을 진행하다가 어느 한 분이 알려주셨다. 내가 깊게 생각하지 않았던 것 같다.

S3 를 확인해보니 .exe 파일이 업로드가 되어있었다.


🤔 시도

여러 파일 형식의 파일들을 넣어서 multipartFile.getContentType() 으로 파일 형식을 확인해보았다.

파일 형식multipartFile.getContentType()
.htmltext/html
.pdfapplication/pdf
.zipapplication/zip
.svgimage/svg+xml
.jpg / jpegimage/jpeg
.pngimage/png
.gifimage/gif

확인해본 결과 이미지 파일 형식은 image 로 시작한다.
이것을 이용하기로 했다.


😎 해결

if (!multipartFile.getContentType().startsWith("image")) {
	throw new PostException(ClientErrorCode.ONLY_PERMIT_IMAGE);
}

만약 mulipartFile로 들어오는 파일의 파일 형식이 image 로 시작하지 않는다면 Exception이 던져지도록 하였다.

profile
💻🌾시골소녀의 엉망징창 개발 성장일지🌾💻 (2023.05.23 ~)

0개의 댓글