BackEnd/Spring
[Spring] 파일 업로드
best
2016. 4. 20. 11:31
파일업로드
pom.xml 의 Dependencies에 file upload dependency를 추가한다.
파일 업로드를 할 때 form에서 enctype을 "multipart/form-data"로 정의해야한다.
multipart 기능을 사용하기 위해서 applicationContext.xml 에 MutipartResolver를 스프링 설정으로 등록시켜 준다.
1
2
3
4
5 |
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="104857600" />
<property name="defaultEncoding" value="UTF-8" />
</bean> |
cs |
MultipartResolver는 enctype이 multipart/form-data 형식으로 데이터가 전송되었을 때 해당 데이터를 Spring MVC에서 사용할 수 있도록 변환해준다.
Controller에 File Upload 추가
1
2
3
4
5
6
7
8
9
10 |
MultipartFile uploadFile = loginVO.getUploadFile();
if ( !uploadFile.isEmpty() ) {
String randomFileName = UUID.randomUUID().toString();
File tempFile = new File("D:\\" + randomFileName );
try {
uploadFile.transferTo(tempFile);
} catch (IllegalStateException | IOException e) {
throw new RuntimeException(e.getMessage(), e);
}
} |
cs |
이때 HttpServlerRequest와 동일하게 Multipartfile도 Command 객체로 받아올 수 있다.
멤버변수 타입이 MultipartFile로 선언되어야 한다.
1 |
private MultipartFile uploadFile; |
cs |