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!