반응형
◆ MultipartFile 파일 업로드 최대크기 지정
MultipartFile 속성 | 설명 | 미 지정시 기본값 |
max-file-size | 개별 파일에 대해 허용되는 최대크기를 지정한다. (※1) | 1MB |
max-request-size | 전체 요청의에 대해 허용되는 최대크기를 지정한다. (※2) | 10MB |
※1 : 스프링 부트의 MultipartFile의 업로드에 관한 최대크기는 application.properties 나 application.yml 파일에서 지정하면 된다.
< application.properties >
spring.servlet.multipart.max-file-size=3MB
spring.servlet.multipart.max-request-size=4MB
< application.yml >
spring:
servlet:
multipart:
max-file-size: 3MB
max-request-size: 4MB
※2 : 예를 들어 max-file-size를 3MB, max-request-size를 4MB를 설정했을 시 2.5MB의 파일을 두 개(총 5MB) 업로드하면 개별 파일들은 max-file-size에서 지정한 크기(3MB > 2.5MB)보다 작으니 문제없지만, max-request-size 에서 지정한 크기(4MB < 5MB)보다 크게 되어 MaxUploadSizeExceededException 에러가 발생한다.
◆ 크기지정시 단위
크기지정시 단위는 KB, MB, GB를 사용할 수 있고, 단위 없이 숫자만 있을 경우 바이트 단위로 인식된다.
◆ 최대크기 무제한으로 지정
크기를 단위없이 -1 로 지정하면 파일업로드의 최대크기가 무제한이 되지만, 요청이 Tomcat에서 시간 초과되는 경우 실패할 가능성도 있다.
◆ MaxUploadSizeExceededException
MaxUploadSizeExceededException 에러는 Spring에서 설정된 최대 파일 크기나 요청 크기를 초과할 때 발생한다.
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (업로드파일크기) exceeds the configured maximum (설정최대크기)] with root cause
참조
Class MultipartProperties
https://docs.spring.io/spring-boot/api/java/org/springframework/boot/autoconfigure/web/servlet/MultipartProperties.html
Tuning File Upload Limits
https://spring.io/guides/gs/uploading-files
글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.
-- 기억의 유효기간은 생각보다 짧다. --
반응형
'▹ JAVA 기반 프레임워크 > 스프링부트 (Spring Boot)' 카테고리의 다른 글
스프링 부트(Spring Boot)의 세션 만료 시간 (session timeout) 설정 방법 (1) | 2025.01.10 |
---|---|
[Spring] MultipartFile 비어있는 파일 확인 - isEmpty() (0) | 2024.07.31 |
패키징 된 war나 jar파일내의 File 읽어오기 (2) | 2024.07.23 |
스프링 부트(Spring Boot)에서 JSP 사용하기 (1) | 2023.12.27 |
[Spring] ClassPathResource 경로 (0) | 2023.09.15 |