Home  >  Article  >  Java  >  Introduction to Spring MVC's method of processing Multipart/form-data (code example)

Introduction to Spring MVC's method of processing Multipart/form-data (code example)

不言
不言forward
2019-02-22 13:43:246814browse

This article brings you an introduction to Spring MVC’s method of processing Multipart/form-data (code examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you. .

Multipart/form-data

Multipart/form-data is one of the MIME encoding attributes of the form, with a total of three values

① application/ x-www-form-urlencoded

② multipart/form-data

③ text/plain

①The default transmission encoding type for Html form

② It is the non-text content uploaded by the form, and what is passed is file data. Set this attribute and cooperate with the post request method to achieve file upload.

③It means to transmit it as plain text. This should be set when sending emails. For encoding, compare text/plain and text/html. The former is used to transmit plain text files, while the latter is the encoding type for transmitting html codes. The above mentioned are only used when sending header files.

MIME, its full English name is "Multipurpose Internet Mail Extensions" Multipurpose Internet Mail Extensions Service, it is a multipurpose Internet Mail Extensions protocol. Through MIME, the browser's re-request will tell the server what type of data it receives.

Spring MVC handles Multipart/form-data

Two implementation methods:

1. CommonsMultipartResolver: Depends on Apache

2. StandardServletMultipartResolver: Depends on Servlet 3.0, SpringBoot supports this method by default

1. Configure the parser

1. Configuration of CommonsMultipartResolver

Disadvantages: Unable to set the maximum capacity of the entire request

(1) Declare Bean and configure upload parameters:

<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 Configuration

(1)Declare Bean:

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

(2) Configure upload parameters

web.xml configuration

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

Configuration in configuration class

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

2. Spring MVC processing

1. Form:

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

2. MVC reception:

@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;
    }  

The above is the detailed content of Introduction to Spring MVC's method of processing Multipart/form-data (code example). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete