


Introduction to Spring MVC's method of processing Multipart/form-data (code example)
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
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <multipart-config> <!--上传到/temp 目录--> <location>/temp/upload</location> <!--文件大小为2M--> <max-file-size>2097152</max-file-size> <!--整个请求不超过4M--> <max-request-size>4194304</max-request-size> <!--大于0M的所有文件都要写入磁盘--> <file-size-threshold>0</file-size-threshold> </multipart-config> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Understand the key features of SpringMVC: To master these important concepts, specific code examples are required. SpringMVC is a Java-based web application development framework that helps developers build flexible and scalable structures through the Model-View-Controller (MVC) architectural pattern. web application. Understanding and mastering the key features of SpringMVC will enable us to develop and manage our web applications more efficiently. This article will introduce some important concepts of SpringMVC

Java backend development is a very important technology that is at the core of modern Internet applications. Java backend development mainly involves APIMVC framework development. In this article, I will introduce how to use JavaSpringMVC for APIMVC framework development. JavaSpringMVC is a very powerful open source framework, which is mainly used for the development of web applications. It uses the MVC (Model-View-Controller) architectural model

Introduction RESTful APIs have become an integral part of modern WEB applications. They provide a standardized approach to creating and using Web services, thereby improving portability, scalability, and ease of use. In the Java ecosystem, JAX-RS and springmvc are the two most popular frameworks for building RESTful APIs. This article will take an in-depth look at both frameworks, comparing their features, advantages, and disadvantages to help you make an informed decision. JAX-RS: JAX-RSAPI JAX-RS (JavaAPI for RESTful Web Services) is a standard JAX-RSAPI developed by JavaEE for developing REST

In the Spring MVC architecture, the Controller package implements business logic by processing user requests and returning responses. Its responsibilities include: receiving user requests (usually via HTTP). Validate and process request parameters. Call the appropriate business logic (usually the service layer). Render the view and return it to the user (usually HTML, JSON, or XML).

In back-end management systems, access permission control is usually required to limit different users' ability to access interfaces. If a user lacks specific permissions, he or she cannot access certain interfaces. This article will use the waynboot-mall project as an example to introduce how common back-end management systems introduce the permission control framework SpringSecurity. The outline is as follows: waynboot-mall project address: https://github.com/wayn111/waynboot-mall 1. What is SpringSecurity? SpringSecurity is an open source project based on the Spring framework, aiming to provide powerful and flexible security for Java applications.

The key difference between SpringWebFlux and SpringMVC is reactive programming (asynchronous processing) and blocking I/O model. This difference leads to key architectural differences: asynchronous processing and event loop models; handlers based on functional interfaces; asynchronous response streams (Publisher objects); simplified exception handling mechanisms; higher throughput and scalability.

The main differences between Go and Java are the type system, concurrency and memory management. Go uses a static type system, which forces types to be declared at compile time, while Java uses a semi-static type system, which allows types to be inferred at runtime. Go's Goroutine supports high concurrency, while Java uses Java threads and locking mechanisms. Go uses a garbage collector to automatically manage memory, while Java requires explicit management of certain resources. These differences lead to different application scenarios: Go is suitable for high-concurrency web services, cloud computing, and big data, while Java is suitable for enterprise-level applications that require complexity and stability.

Java architecture is a programming language widely used in enterprise application development. With the continuous advancement of technology and changing development needs, the Java architecture has also undergone multiple evolutions and developments. This article will explore the evolution and development of Java architecture from J2EE to SpringBoot. J2EE era J2EE (Java2Platform, Enterprise Edition) is an important milestone in Java architecture, launched in 1999. It provides a set of standards
