728x90
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.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.] with root cause
원인
이미지 업로드 기능을 구현한 후, 서비스에 파일을 업로드하자 발생한 에러다.
에러 로그대로 최대 용량 파일을 넘긴 파일을 업로드했을 때 발생한다.
용량을 따로 설정하지 않으면 기본 용량으로 1048576 bytes가 설정된다.(약 1MB)
테스트할 때는 1MB보다 작은 용량의 이미지들로 테스트를 해서 해당 에러를 확인해지 못했다.
해결
해결 방법은 간단한다. 서버에 업로드할 파일의 최대 용량을 직접 설정하면 된다.
application.yml에 원하는 최대 용량을 설정하면 된다.
설정하는 코드는 Spring Boot 버전에 따라서 약간 다르다.
우리는 Spring Boot 2.7.7을 사용했기 때문에 해당 2.x 버전 방식에 맞춰 코드를 작성했다.
application.yml
spring:
servlet:
multipart:
maxFileSize: 10MB # 파일 하나의 최대 크기
maxRequestSize: 30MB # 한 번에 최대 업로드 가능 용량
728x90
'나의 에러 일지' 카테고리의 다른 글
Spring - MissingServletRequestPartException 원인과 해결법 (1) | 2023.03.20 |
---|---|
Spring - c.s.f.storage.AmazonS3ResourceStorage : Unable to execute HTTP request: Timeout waiting for connection from pool 해결 (0) | 2023.03.18 |
Git - .gitignore가 작동되지 않을 때 해결 방법 (1) | 2023.02.16 |
Java - UnsupportedOperationException 원인과 해결법 (0) | 2023.02.09 |
AWS EC2 - EC2 배포시 Scheduled가 지정된 시간에 실행되지 않았을 때 원인과 해결법 (0) | 2023.02.07 |