ex)
<form method="post" enctype="multipart/form-data">
...
</form>
ex)
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<bean id="martipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
또는 CommonsMultipartResolver의 프로퍼티를 이용하여 최대 가능한 업로드 사이즈 등 지정 가능
<bean id="multipartResolver class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="2000000" />
</bean>
CommonsMultipartResolver 클래스의 프로퍼티
프로퍼티 | 타입 | 설명 |
---|---|---|
maxUploadSize | long | 최대 업로드 가능한 바이트 크기, -1은 제한이 없음을 의미, 기본값은 -1 |
maxInMemorySize | int | 디스크에 임시 파일을 생성하기 전에 메모리에 보관할 수 있는 최대 바이트크기, 기본 값은 10240 바이트이다. |
defaultEncoding | String | 요청을 파싱할 때 사용할 캐릭터 인코딩. 지정하지 않을 경우, HttpServletRequest.setCharacterEncoding() 메서드로 지정한 캐릭터 셋이 사용. 아무 값도 없을 경우ISO-8859-1을 사용 |
uploadTempDir | Resource | 임시디렉터리 지정 |
Controller에서 요청정보(업로드 파일 데이터) 전달 받기
1) @RequestParam 어노테이션을 이용한 업로드 파일 접근
@RequestMapping(value="/upload", method=RequestMethod.Post)
public String upload(@RequestParam("upfile") MultipartFile upfile){...}
요청 파라미터와 매개변수 이름이 같으면 @RequestParam 생략가능
@RequestMapping(value="/upload", method=RequestMethod.Post)
public String upload(MultipartFile upfile){...}
2) MultipartHttpServletRequest를 이용한 업로드 파일 접근
MultipartHttpServletRequest 인터페이스
MultipartRequest 인터페이스의 파일 관련 주요 메서드