SpringMVC 파일 업로드를 기반으로


#### 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"/>
        

 

추천

출처www.cnblogs.com/cgy-home/p/11094836.html