#### 1. 프로젝트 만들기
`SRPINGMVC-03-UPLOAD`,`as` 사흘째 공습 선택 Id``cn.tedu.spring`, '유물로`메이븐 Project`,`그룹 Id`를 만들 수 Packaging`을.
필요한 SpringMVC 의존성을 추가하는 것 외에도, 또한 당신은 평민 - fileupload` 의존성`추가해야합니다 :
<의존성> <의 groupId> 몬즈 파일 업로드 </의 groupId> <artifactId를> 몬즈 파일 업로드 </ artifactId를> <버전> 1.4 </ 버전> </ 의존성>
#### 2. 정적 페이지
생성 'index.html` in`의 webapp` 프로젝트 페이지 요구 사항 :
1. 양식'<양식>``, 속성이 post`을 be`해야한다 method` 업로드 된 파일 때문에 데이터 요청 파라미터의 평균 량에 대하여, 데이터는 매우 큰, URL이 맞지 않는, 또한 속 enctype` 값 '의 값은 다중 / 폼 data`를 be`해야
<form 조치 = ""METHOD = "POST"에 enctype = "multipart / form-data"로>
2. 양식은 파일을 탐색 할 수있는 조절 기능이 있어야합니다 :
<input 타입 = "파일"/>
예를 들어 전체 코드 :
<양식 액션 = ""방법 = "POST"에 enctype = "다중 / 폼 데이터"> <ρ-이> 업로드 할 파일을 선택하십시오 : </ ρ-> <ρ-> <유형 =의 INPUT "파일"/> </ P> <P> <INPUT 타입 = "제출"값 = "업"/> </ P> </ FORM>
업로드 요청을 수신 3. ####
는 먼저 '스프링 mvc.xml` 관련 컴포넌트는 루트 패키지의 구성을 검사하고 Controller` @'주석을 추가 cn.tedu.spring.UploadController` 컨트롤러 클래스 create` 후 처리 요구 제어 클래스의 방법에서 추가
( "upload.do"@RequestMapping ) 공공 ) {문자열 업로드 ( 반환 널 (null)을 ; }
요청을 처리하는 방법에있어서, 상기 파일을 저장하는 '방법 transferTo (파일)를 무효화 object` 파라미터를 호출 요청을 처리하는 동안 클라이언트 오브젝트 파일 패키지 업로드 MultipartFile` 유형 파라미터가 얻어`추가 :
@Controller 공공 클래스 UploadController { @RequestMapping ( "upload.do" ) 공공 문자열 업로드 ( @RequestParam ( "파일")의 MultipartFile 파일) 가 발생 IllegalStateException이, IOException가 { // 执行保存 = 파일의 최종 도착 새 / 1 : 파일 ( "D는. JPG " ); file.transferTo (최종 도착); 반환 널 (null)을 ; } }
`형태의 정적 페이지의 의회 처리 속성 값은 파일이 file`을 be`해야한다 찾아`컨트롤의 name` 속성 값을 upload.do` be`해야합니다.
마지막으로, 사용`MultipartFile`하기 전에, 당신은 또한`스프링 mvc.xml`에서의 CommonsMultipartResolver`을 configure`해야합니다
<! - MultipartResolver 업로드 구성 할 때 필요 사용하기 ->
<위의 ID를 언급 한 콩을 = "를 MultipartResolver" 클래스 = "org.springframework.web.multipart.commons.CommonsMultipartResolver"/>