목차
- Spring boot - StreamingResponseBody
- Spring boot - ResourceRegion
- Spring boot - 파일 다운로드 서비스 구현하기
- Spring boot - 파일 업로드 서비스 구현하기
- Spring boot - Resource 추상화
- Spring boot - MultipartFile 에서 발생하는 예외 처리
- Spring boot - MultipartFile 를 이용한 파일 업로드
- Spring boot - Part 객체를 이용한 파일 업로드
MaxUploadSizeExceededException 예외
MaxUploadSizeExceededException 예외가 발생하는 경우는 크게 두 가지가 있다. 첫 번째는 FileSizeLimitExceededException 예외가 발생했을 때 두 번째는 SizeLimitExceededException 예외가 발생했을 때다.
FileSizeLimitExceededException
서버로 전송되는 각 파일 크기가 제한을 초과했을 때 발생하는 예외, 기본값은 1MB다.
org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
SizeLimitExceededException
서버로 전송되는 모든 파일 크기가 제한을 초과했을 때 발생하는 예외, 기본값은 10MB다.
org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (29404104) exceeds the configured maximum (10485760)
MaxUploadSizeExceededException 예외 해결하기
Properties에 속성 추가
MaxUploadSizeExceededException 예외를 해결하는 방법은 스프링 properties에 spring.servlet.multipart.max-file-size 값을 명시적으로 늘려주면 된다.
spring.servlet.multipart.max-file-size=200MB |
SizeLimitExceededException 예외를 해결하는 방법은 스프링 properties에 spring.servlet.multipart.max-request-size 값을 명시적으로 늘려주면 된다.
spring.servlet.multipart.max-request-size=200MB |
MultipartResolver 등록하기
스프링 properties에 값을 추가하는 방식 외에도 MultipartResolver Bean을 등록해 MaxUploadSize값을 설정하는 방법이 있다.
의존성 추가
// https://mvnrepository.com/artifact/commons-io/commons-io |
MultipartResolver 는 setMaxUploadSize 메소드를 통해 모든 파일 크기에 대한 설정을 setMaxUploadSizePerFile 메소드를 통해 각각의 파일 크기에 대한 설정을 할 수 있다. 아무 설정도 안하면 Max갑이 없어 파일 크기에 제한이 없다.
|
예외 처리
ControllerAdvice 어노테이션을 이용한 예외 처리
|
HandlerExceptionResolver 인터페이스 구현을 통한 예외처리
|