SpringMVC 에서 파일 을 업로드 하 는 간단 한 인 스 턴 스

SpringMVC 에서 파일 을 업로드 하 는 간단 한 인 스 턴 스
springMVC 를 사용 하여 시스템 을 실현 할 때 springMVC 의 기본 해상도 기 에는 파일 업로드 에 대한 분석 이 추가 되 지 않 았 습 니 다.이것 은 우리 가 자신의 파일 업 로드 를 편리 하 게 할 수 있 습 니 다.그러나 파일 업 로드 를 위해 springMVC 를 사용 하려 면 springMVC 가 제공 하 는 Multipart Resolver 의 설명 을 spring 의 applicationContext 에 추가 해 야 합 니 다.그 후에 클 라 이언 트 가 요청 할 때마다 springMVC 는 request 에 멀티미디어 정보 가 포함 되 어 있 는 지 확인 합 니 다.포함 되 어 있 으 면 Multipart Resolver 를 사용 하여 분석 합 니 다.springMVC 는 파일 처 리 를 지원 하 는 Multipart Http ServletRequest 를 사용 하여 현재 Http ServletRequest 를 패키지 합 니 다.그리고 MultipartHttp ServletRequest 를 사용 하면 파일 을 처리 할 수 있 습 니 다.Spring 은 이미 우리 에 게 Multipart Resolver 의 실현 을 제공 하 였 습 니 다.우 리 는 가 져 와 서 만 사용 하면 됩 니 다.그것 이 바로 org.spring from work.web.mlipart.comons.Comms Multipart Resolver 입 니 다.springMVC 의 Multipart Resolver 바 텀 은 Commons-fileupload 를 사용 하기 때문에 Commons-fileupload.jar 에 대한 지원 도 필요 합 니 다.
Xml 코드

<!--      id   multipartResolver --> 
<bean id="multipartResolver" 
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
 
  <!-- one of the properties available; the maximum file size in bytes --> 
  <property name="maxUploadSize" value="100000"/> 
</bean> 
Commons Multipart Resolver 에서 설정 할 수 있 는 속성 은 다음 과 같 습 니 다.
     default Encoding:request 요청 을 분석 하 는 기본 인 코딩 형식 을 표시 합 니 다.지정 되 지 않 았 을 때 Servlet 규범 에 따라 기본 값 ISO-8859-1 을 사용 합 니 다.request 가 인 코딩 형식 을 가리 키 면 지정 한 default Encoding 을 무시 합 니 다.
    upload TempDir:파일 을 업로드 할 때 임시 디 렉 터 리 를 설정 합 니 다.기본 값 은 Servlet 용기 의 임시 디 렉 터 리 입 니 다.
    max Upload Size:업로드 할 수 있 는 최대 파일 크기 를 설정 하고 바이트 단위 로 계산 합 니 다.-1 로 설정 하면 무제 한 을 표시 합 니 다.기본 값 은-1 입 니 다.
    max InMemory Size:파일 업로드 시 메모리 에 쓸 수 있 는 최대 값 을 설정 합 니 다.바이트 단위 로 계산 합 니 다.기본 값 은 10240 입 니 다. 
다음은 간단 한 예 이다.
.html 파일

<html> 
  <head> 
    <title>Upload a file please</title> 
  </head> 
  <body> 
    <h1>Please upload a file</h1> 
<!--  enctype(    )   multipart/form-data --> 
    <form method="post" action="/form" enctype="multipart/form-data"> 
      <input type="text" name="name"/> 
      <input type="file" name="file"/> 
      <input type="submit"/> 
    </form> 
  </body> 
</html> 
 
대응 하 는 action controller:
자바 코드

@Controller 
public class FileUpoadController { 
 
  @RequestMapping(value = "/form", method = RequestMethod.POST) 
  public String handleFormUpload(@RequestParam("name") String name, 
    @RequestParam("file") MultipartFile file) { 
    //MultipartFile            ,           ,      MultipartFile   
    if (!file.isEmpty()) { 
      byte[] bytes = file.getBytes(); 
      // store the bytes somewhere 
      //       file     ,                            
 
      return "redirect:uploadSuccess"; 
    } else { 
      return "redirect:uploadFailure"; 
    } 
  } 
 
} 
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기