>Java >java지도 시간 >Spring MVC의 Multipart/form-data 처리 방법 소개(코드 예제)

Spring MVC의 Multipart/form-data 처리 방법 소개(코드 예제)

不言
不言앞으로
2019-02-22 13:43:246941검색

이 글은 Spring MVC의 Multipart/form-data 처리 방법(코드 예제)을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

Multipart/form-data

Multipart/form-data는 양식의 MIME 인코딩 속성 중 하나입니다. 총 3가지 값이 있습니다

① application/x-www-form-urlencoded

② multipart/form-data

3 text/plain

1은 HTML 양식의 기본 전송 인코딩 유형입니다.

2는 양식에서 업로드한 텍스트가 아닌 콘텐츠로 파일 데이터를 전송하는 속성을 설정하고 게시물에 협력합니다. 파일 업로드를 위한 요청 방법

③은 일반 텍스트를 의미합니다. 이메일을 보낼 때 이 인코딩을 설정해야 합니다. text/plain과 text/html을 비교하면 전자는 일반 텍스트 파일을 전송하는 데 사용되고 후자는 인코딩됩니다. html 코드 전송을 위한 유형입니다. 그래야만 위에서 언급한 MIME을 사용할 수 있습니다. 전체 영어 이름은 "Multi Purpose Internet Mail Extensions"입니다. MIME을 통해 브라우저의 재요청은 어떤 유형의 데이터가 수신되는지 서버에 알려줍니다.

Spring MVC는 Multipart/form-data를 처리합니다

두 가지 구현 방법:

1. Apache에 따라 다름


2 . StandardServletMultipartResolver: Servlet 3.0에 따라 SpringBoot는 기본적으로 이 방법을 지원합니다

1. 구성 확인자

1. CommonsMultipartResolver 구성

단점: 전체 요청의 최대 용량을 설정할 수 없습니다

(1) Bean을 선언하고 구성합니다. 업로드 매개변수:

<bean id="multipartResolver" 
   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="uploadTempDir" value="/temp"/>    <!--设置上传目录/temp -->
        <property name="maxUploadSize" value="2097152"/>   <!--最大文件容量设置为2M-->
        <property name="maxInMemorySize" value="0"/>    · <!--最大的内存大小设置为0,超过0就写入磁盘-->     
</bean>

2. StandardServletMultipartResolver 구성

(1) Bean 선언:

<bean id="multipartResolver" 
class="org.springframework.web.multipart.support.StandardServletMultipartResolver”>
@Bean(name = "multipartResolver")
public StandardServletMultipartResolver getStandardServletMultipartResolver(){
          return new StandardServletMultipartResolver();
          }

(2) 업로드 매개변수 구성

web.xml 구성

46309ed845064fdb06e746051efff9e0
    700b5f17c4d842e4bd410f680f40946bdispatcherServlet72eca723e64ddd01187c8b4d58572fcb
    b472d9135dbff3dd7fcc77f5995c97d0org.springframework.web.servlet.DispatcherServlet4f01b97d64aea37f699ead4eb7bd2bbd
    380fae52cc7d04565d26dd4bbf4b5460
        c13d9669d2c8f87a36a39c8f95f41552contextConfigLocation02b9ad8b27bc78bd91c18db845cdde4a
        f226acac8cb0e4a9d59fcba58b57a899classpath:applicationContext.xml22c8aeb51b7638a9da01bd5a66154ac1
    8f161518881ffd7712eaaadc573a3556
    4781e2cbaa93c386271b418d3a01af0813065abc64b27fbca30c0905ab93e8ea0
    d589bc550fddbf4e1467769008c79743
        9b8d0b7dec66249828adf6eecce57e56
      9d68f4d645dd62cd4e002580b75a8b85/temp/uploadeb393cd7f0c41cf1136847ec1779eae4
        54275ace0e53d1f05148c4d2fb4d0f8e
      264118c81acaa0ed957102901d0217092097152ccfecdf06d7a6c119cfa2f6998f9193e
        a985a73358dc1c27afd267b67e0895bb
      d8826ad457eb4d4bfe6313ea1e725b6d4194304b5b1d78b07ce9edb1c40391f708a85d6
        03810b98d7aeeaebe728da27093c7397
      cfba4a0d5e51fea799b9e49d4b3e2e86043463aa0839dd2d81701d30ccbcc8b17
    bd01001af9e9d0ca8b1d333acf597655
  20d42bb762ac7d7e594da3a264e47fcc
  870ae7edaa11700bcea972d006efb06e
    700b5f17c4d842e4bd410f680f40946bdispatcherServlet72eca723e64ddd01187c8b4d58572fcb
    66e1775cbd9d5002635ae3285442ba88/3ec4a5583206d351b61ed79c1a0f9c66
  cb808b0e21d3ee32c89fe10adc3f12ec

구성 클래스의 구성

<form action="/save" method="post" enctype="multipart/form-data">
          <input type="file" name="pic">
          <input type="submit">
</form> 

2.

1. 양식:

  <form action="/save" method="post" enctype="multipart/form-data">
          <input type="file" name="pic">
          <input type="submit">
   </form>

2 MVC 수신:

@RequestMapping(value = "/save",method = RequestMethod.POST)
    public String getHome(MultipartFile pic) throws IOException {
        Files.copy(pic.getInputStream(), Paths.get(ServletContext.getRealPath("/temp"),pic.getOriginalFilename));
        return null;
    }  

위 내용은 Spring MVC의 Multipart/form-data 처리 방법 소개(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제