반응형
스프링 프레임워크 기반으로 fileupload 기능 구현중에 다음과 같은 에러를 만났습니다. ajax 를 이용 하여 다음과 같이 요청 하였습니다.
자바스크립트 ajax 요청 부문
$.ajax({
url : "/registerBoard.do",
enctype: 'multipart/form-data', // 필수
processData: false, // 필수
contentType: false, // 필수
type : "POST",
data : formData,
success : function(data) {
if(data==""){
}else{
}
},
error : function(msg) {
}
});
}
}
스크립트 상으로는 이상이 없습니다. 위와 같이 진행시에 에러가 났다면 스프링프레임워크 xml 설정시에 max file upload size 보다 큰 파일의 사이즈를 올리게 되면 이러한 오류 문구를 내뿜더라구요. 현재 여러분이 설정해 놓은 디스패처 서블릿 설정관련 파일을 봐보세요. 파일업로드 관련한 설정이 있는 서블릿 xml 파일이 있을 겁니다. 대게 context-servlet.xml 이나 context-common.xml 에 등록되어 있을꺼에요.
context-common.xml
<!-- 표준 multipart -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="20971520" /> <!-- 20MB -->
<property name="maxInMemorySize" value="1048576" /> <!-- 1MB -->
</bean>
저도 이렇게 설정이 되어 있는데요. 40메가 이상 되는 파일을 업로드 하니 에러가 나더라구요. 위 설정 부문의 value 값을 설정하시고 서버내렸다 올리시면 에러는 없어질꺼에요. 또한 저도 정확히는 모르겠으나, 대용량 파일은 파일크기 value를 조정해도 에러가 같은현상으로 나타날수 있습니다. 대용량 파일은 실행시간 오버로 업로드가 안될수 있다구 하더라구요. 참고 하시길 바랍니다.
반응형