目录
一.使用CommonsMultipartResolver解析器
二.使用StandardServletMultipartResolver解析器
1.Multipart介绍
1.1 Multipart形式的数据
Multipart格式数据会将一个表单拆分为多个部分(part)--通过content-type中指定的分割符,每个部分对应一个输入域。在一般的表单输入域中,它对应的部分会放置文本型数据,如果是文件上传形式,它对应的部分可以是二进制。
1.2 Multipart/form-data请求方式
Multipart/form-data是建立在HTTP的POST请求方式以上的请求,其一般用于HTTP文件上传。
所以我们需要在表单(form)元素中如下设置,使得该表单请求用于处理文件:
<form class="" action="" method="post" enctype="multipart/form-data">
2.SpringMVC处理Multipart数据
2.1 配置Multipart解析器
DispatcherServlet没有实现解析multipart请求数据的功能。它将任务委托给Spring中MutipartResolver策略接口实现,通过这个实现类来解析multipart请求中的内容。Spring3.1后内置两个MultipartResolver的实现供我们选择:
-
CommonsMultipartResolver: 使用Jakarta Commons FileUpload解析multipart请求。
- StandardServletMultipartResolver: 依赖于Servlet3.0对multipart请求的支持。
一.使用CommonsMultipartResolver解析器
因为CommonsMultipartResolver依赖于Apache Commons FileUpload,所以我们需要引入commons-fileupload
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
在SpringMVC配置文件中装载Bean即