[톰캣오류] SizeLimitExceededException: the request was rejected because
HTTP Status 500 - Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (2288140) exceeds the configured maximum (2097152)
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (2288140) exceeds the configured maximum (2097152)
위의 오류는 업로드시 업로드 용량이 2MB를 초과했다는 오류이다.
톰캣의 기본 최대 업로드 용량은 2MB이다.
아마 이 설정값을 건드리지 않았다면 모두 2097152Byte( = 2MB)로 설정이 되어있을 것이다.
나 또한 나의 프로젝트에 2MB로 설정이 되어있었다.
모바일에서 고화질 이미지를 올리니 오류가 났다.
해결 방법은 간단하다.
tomcat의 server.xml 에서
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" maxPostSize="2097152" protocol="HTTP/1.1" redirectPort="8443"/>
위와 같은 Connector 태그의 maxpost 값을 바꾸어주면 된다.
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" maxPostSize="10485760" protocol="HTTP/1.1" redirectPort="8443"/>
maxpost값을 10485760로 바꾸어줬는데 10MB 값이다.
단위는 byte 단위로 적어줘야한다.
1MB=1024*1024 이고 10MB=1024*1024 이다.
각자 자기 환경에 맞는 byte값을 설정해주면된다.