<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- one of the properties available; the maximum file size in bytes --> <property name="maxUploadSize"> <value>5242880</value> </property> <property name="defaultEncoding"> <value>EUC-KR</value> </property> </bean>
위와 같이 maxUploadSize 를 설정하므로서 제한이 가능하며, 이 제한을 넘어가면 org.springframework.web.multipart.MaxUploadSizeExceededException 이 발생된다. 이때의 문제는 해당에러가 스프링단에서 발생되므로 해당 내용이 Controller까지 전달되지 못하며, 그로인해 Exception을 제어 할 수 없게 된다.
이 문제는 아래와 같이 exceptionResolver를 설정해주므로서 제어 가능하다.
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException"> /error/imgUploadErr </prop> </props> </property> </bean>
위 경우엔 MaxUploadSizeExceededException 이 발생하면 /error/ 경로의 imgUploadErr라는 view 페이지로 forward 된다는 의미이다. 이 페이지를 통해 적절한 에러 메시지를 노출시켜주므로서 파일업로드시 용량제한으로 발생되는 Exception을 제어 할 수 있게 된다.
[출처] [spring] 파일업로드 크기 제한.|작성자 브라우니
댓글 없음:
댓글 쓰기