- 파일을 두개이상 업로드하기 위해
form
을enctype="multipart/form-data"
로 지정했는데controller
에서null
값을 전달받음
controller
에서 받을때는 null
값을 받는다.<!-- servlet-context.xml -->
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<beans:property name="defaultEncoding" value="UTF-8"/>
<beans:property name="maxUploadSize" value="52428800"/>
<beans:property name="maxInMemorySize" value="1048576"/>
</beans:bean>
servlet-context.xml
파일에 multipartResolver
를 추가하여 해결
인코딩 타입이 Multipart
이라면, 파라미터나 업로드한 파일을 구하려면 전송 데이터를 처리해 주어야 한다.
Property | type | 설명 |
---|---|---|
maxUploadSize | long | - 최대 업로드 가능한 바이트 크기 - 기본값은 -1이며 -1은 제한이 없음 |
maxinMemorySize | int | - 디스크에 임시 파일을 생성하기 전에 메모리에 보관할 수 있는 최대 바이트 크기 - 기본값은 10240 바이트 |
defaultEncoding | String | - 요청을 파싱할 때 사용할 캐릭터 인코딩 - 기본값은 HttpServletRequest.setEncording() 에 지정한 캐릭터셋 |
input
폼에서 파일 업로드 기능을 넣고 실행하면 500 에러 발생
pom.xml
에 아파치
dependency
를 추가하자...<!-- pom.xml -->
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>