* FileUpload - 파일 업로드 요청 페이지
1. 호출 JSP(또는 HTML)
- 요청 방식 : post
- <form enctype="multipart/form-data">
- input tag : <input type="file" name="upfile"/>
- name 송석의 값은 upload정보를 저장할 DTO(VO)의 Attribute와 매칭 된다.
- 여러 개의 파일을 업로드 할 때 name속성의 값은 이름[0], 이름[1] 형식으로 작성
<input type="file" name="upfile[0]"/>
<input type="file" name="upfile[1]"/>
* FileUpload - Spring 설정파일
1. multipartResolver 빈으로 등록
- upload를 처리해 주는 bean
- id/name은 반드시 multipartResolver로 등록
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
- property
- defaultEncoding - 기본 인코딩 설정
- maxUploadSize - 업로드 허용 최대 size를 byte단위로 지정.
-1은 무제한
- uploadTempDir - 업로드 파일이 저장될 임시 경로 지정
- maxInMemorySize - 업로드 파일을 저장할 최대 메모리 크기
* FileUpload - Controller에서 처리
1. DTO를 통해 받기
- 파일 요청 파라미터의 이름과 매칭되는 property작성
- 파일의 정보를 저장할 property는 MultipartFile 타입으로 작성
2. @RequestParam 을 통해 받기
- Controller 메소드의 MultipartFile 타입의 매개변수 사용
3. MultipartHttpServletRequest 이용
- Controller 메소드의 매개변수로
MultipartHttpServletRequest를 선언
- 주요 메소드
- getFileNames() : Iterator<String> - 업로드된 파일명들 조회
- getFile(String name) : MultipartFile - 업로드된 파일정보 조회
- getFiles(String name) : List<MultipartFile> - 업로드된 파일정보들 조회
* FileUpload - MultipartFile
1. org.springframework.web.multipart.MultipartFile
- 업로드된 파일정보를 저장하는 객체
- getName() : String -요청파라미터의 name
- getOriginalFilename() :String - upload된 파일명
- getSize() : long - 파일의 크기
- transferTo(File dest) - upload된 파일을 특정 경로로 이동
- isEmpty() : boolean - upload된 파일이 없으면 true
- getInputStream() : InputStream - 업로드 된 파일과 연결된 InputStream 리턴
* 원래 파일 업로드를 실행하려면 복잡한대 이걸 처리해주는 api가 있고 이걸 등록해서 사용하면 된다.
'프로그래밍 > Spring MVC' 카테고리의 다른 글
여러개 파일 업로드하기, 다운로드 받기 (0) | 2012.07.04 |
---|---|
FileUpload실습 - DTO를 통해받기, @RequestParam, MultipartHttpServletRequest이용 (0) | 2012.07.04 |
회원정보 수정 폼, 회원정보 수정 처리, 이름으로 검색, 마일리지 범위로 검색(Spring MVC, ibatis 이용) (0) | 2012.07.02 |
로그인, 로그아웃 처리 (0) | 2012.07.02 |
spring, jstl, ibatis 연동하여 사용하기 실습- member_springmvc (0) | 2012.06.29 |