스프링 MVC 파일 업로드

 

 

 index.jsp를

<% 페이지 언어 @ = " 자바 " 의 contentType = " text / html과; 문자셋 = UTF-8 " 
    pageEncoding = " UTF-8 " %> 
<! DOCTYPE html로의 PUBLIC "- // W3C // DTD HTML 4.01 과도 // EN" "http://www.w3.org/TR/html4/loose.dtd" > 
< HTML > 
< 머리 > 
< 메타 HTTP-당량 = "Content-Type을" 내용 = "text / html과; 문자셋 = UTF-8" > 
< 제목 > 삽입 제목 여기에 <
> 
< 본문 > 
    $ {이름} 
    < 형태 조치 = "uplode.do" 메소드 = "후" 에 enctype = "multipart / form-data"로 > 
        < 입력 타입 = "파일" 이름 = "파일"   /> 
        < 입력 유형 = "제출" = "上传" /> 
    </ 형태 > 
</ 바디 > 
</ HTML >

여러 파일 업로드

    < 작업 = "bateh.do" 메소드 = "후" 에 enctype = "multipart / form-data"로 > 
        1 < 입력 타입 = "파일" 이름 = "파일"   /> 
        2 < 입력 타입 = "파일" 이름 = " 파일 "   /> 
        < 입력 타입 ="제출 " ="上传" /> 
    </ 형태 >

 

iotest.java

패키지 cn.zys.controller; 

수입 java.io.File에;
수입 java.io.FileOutputStream의;
수입 때 java.io.IOException;
수입 java.io.InputStream를;
수입 java.io.OutputStream에; 

수입 나오는 javax.servlet.http.HttpServletRequest; 

수입 org.springframework.stereotype.Controller;
수입 org.springframework.web.bind.annotation.RequestMapping;
수입 org.springframework.web.bind.annotation.RequestParam;
수입 org.springframework.web.multipart.commons.CommonsMultipartFile; 

@Controller 
공공  클래스 IoTest { 
    
    @RequestMapping ("/ uplode" )
     공공 문자열 uplode (@RequestParam ( "파일") CommonsMultipartFile CMF, HttpServletRequest의 REQ)를 던졌습니다 IOException가 {
         // 获取文件名
         // 获取文件的路径 
        문자열 경로 = req.getRealPath ( "/ fileuplode" ); 
        의 InputStream이다 = cmf.getInputStream (); 
        에서 System.out.println (cmf.getOriginalFilename ()); 
        에서 System.out.println (경로); 
        OutputStream에 운영 체제 = 새로운 FileOutputStream에 ( 새로운 파일 (경로, cmf.getOriginalFilename ()));
        INT LEN = 0 ;
        바이트 [완충액 =새로운  바이트 [1024 ];
        반면 ((LEN = is.read (완충액)) = - 1! ) 
            os.write (버퍼 0 렌); 
        
        os.close (); 
        가까운(); 
        반환 "/yes.jsp을" ; 
    } 
//多文件上传
( "/ bateh"@RequestMapping )
     공용 문자열 bateh (@RequestParam ( "파일") CommonsMultipartFile CMF [] HttpServletRequest의 REQ)를 발생 IOException가 {
         // 获取文件名
         // 获取文件的路径 
        문자열로 req.getRealPath = ( "/ fileuplode " );
        위한 ( int로 , 나는 cmf.length를 <; I = 0 난 ++ ) { 
            의 InputStream 인 = CMF [I] .getInputStream (); 
            에서 System.out.println (CMF [I] .getOriginalFilename ()); 
            에서 System.out.println (경로); 
            OutputStream에 운영 체제 = 새로운 FileOutputStream에 ( (파일 경로, CMF [I] .getOriginalFilename ()));
            INT LEN = 0 ;
            바이트 [완충액 = 새로운  바이트 [1024 ];
            반면 ((LEN = is.read (완충액)) = - 1! ) 
                os.write (버퍼 0 렌); 
            
            os.close (); 
            가까운(); 
        } 
        반환 "/yes.jsp" ; 
    }
 
 

 


}

mvc.xml (부)

<! - 파일 업로드 구성 -> 
        < ID = "는 MultipartResolver" 클래스 = "org.springframework.web.multipart.commons.CommonsMultipartResolver" > 
          <! - 
        
            defaultEncoding : 형식 코딩 및 JSP를 일치해야하는 사용자를 인코딩 요청 양식의 내용이 정확 읽을 수 있습니다. 
            uploadTempDir : 업로드가 완료된 후 파일이 임시 디렉토리를 업로드하는 동안, 임시 파일은 자동으로 삭제됩니다 
            설정 파일 업로드 크기 제한 (바이트) -1 제한 : maxUploadSize 
        
          > - 
          < 속성 이름 = "defaultEncoding" 값을 "= . 8 UTF "  /> 
          < 속성 이름 ="maxUploadSize " ="102400000 "  /> 
          <= "40960" > </ 속성 > 
          <! - uploadTempDir이 일시적으로 업로드 된 파일이 자동으로 정리됩니다 기본 경로는,이, 설정할 수 없습니다 -> 
        </ >

 

추천

출처www.cnblogs.com/xiaozhang666/p/11653568.html