> 파일 업로드 폼 방식 요청 처리를 위한 의존 라이브러리 추가
> pom.xml 내, commons-fileupload, commons-io 라이브러리리 의존관계 등록
> web.xml에 모든 경로에 대한 MultipartFilter를 등록
## 위 설정을 진행하였는데도 에러가 나는 경우 조치방법
> multi-part 에러가 발생하거나 null에러가 발생거하거나 multipartFile 에러가 발생할때 설정한다.
> server > context.xml 내에서 Context 태그 내 옵션 추가
> allowCasualMultipartParsing="true" path="/"
> local 환경에서는 셋팅이 가능하다.
1. pom.xml에서 commons-fileupload, io Dependency 설정
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
2. web.xml에서 Filter 설정
<filter>
<filter-name>MultipartFilter</filter-name>
<filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MultipartFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. Parameter에서 MultipartFile 객체로 받아오기 (단일파일)
@RequestMapping(value = "/registerFile01", method= RequestMethod.POST)
public String registerFile01(MultipartFile picture) {
log.info("register01File() 실행...!");
log.info("originalName : " + picture.getOriginalFilename());
log.info("size : " + picture.getSize());
log.info("contentType : " + picture.getContentType());
return "success";
}
4. 복수파일 받아오기 ( 배열[] 이용, ArrayList는 지원하지않은다)
복수의 파일을 가져올때 스프링프레임워크에서 form태그의 값들을 파라미터상에서 arrayList로 불러올수 없다. 배열을 이용하거나 ArrayList를 사용하려면 VO를 생성하고 vo에서 List를 만들면 사용 가능해진다.
@RequestMapping(value = "/registerFile08", method = RequestMethod.POST)
public String registerFile08(MultipartFile[] pictureList) {
log.info("registerFile08() 실행...!");
log.info("pictureList.legth : " + pictureList.length);
for(MultipartFile picture : pictureList) {
log.info("originalName : " + picture.getOriginalFilename());
log.info("size : " + picture.getSize());
log.info("contentType : " + picture.getContentType());
}
return "success";
}
'Spring' 카테고리의 다른 글
[스프링Legacy] Spring Security 프로젝트 초기설정 (STS, 이클립스) (0) | 2023.06.14 |
---|---|
[스프링Legacy] Mybatis 프레임워크 초기설정 (0) | 2023.06.01 |
[스프링MVC] @RequestMapping 어노테이션 총 정리 (0) | 2023.05.23 |
[스프링MVC] Controller의 기본 .jsp 단축경로 설정하기 servlet-context.xml (0) | 2023.05.23 |
[스프링프레임워크] 400에러 해결방법 (국비학원,공공SI) (0) | 2023.05.20 |
댓글