2015년 3월 23일 월요일

업로드크기제한예외처리

스프링에서 파일 업로드시 업로드되는 파일을 크기를 appilicationContext.xml 설정파일로서 제한 할 수가 있다.

<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] 파일업로드 크기 제한.|작성자 브라우니

댓글 없음:

댓글 쓰기