-
最大单个文件大小
-
最大请求大小(在单个请求中有多个文件的情况下)
-
以及将文件上传进度刷新到存储位置的大小。
这些设置必须在Servlet注册级别应用,因为_Servlet 3.0_不允许它们像_CommonsMultipartResolver_一样在_MultipartResolver中_注册。
完成此操作后,我们可以将StandardServletMultipartResolver添加到我们的Spring配置中:
@Bean
public StandardServletMultipartResolver multipartResolver() {
return new StandardServletMultipartResolver();
}
要上传文件,我们可以构建一个简单的表单,在其中使用类型为'file'
的HTML输入标签。
无论选择哪种上传处理配置,我们都需要将表单的编码属性设置为multipart / form-data
,这使浏览器知道如何对表单进行编码:
<form:form method=“POST” action=“/spring-mvc-xml/uploadFile” enctype=“multipart/form-data”>
要存储上传的文件,我们可以使用MultipartFile变量。我们可以从控制器方法内的request参数中检索此变量:
@RequestMapping(value = “/uploadFile”, method = RequestMethod.POST)
public String submit(@RequestParam(“file”) MultipartFile file, ModelMap modelMap) {
modelMap.addAttribute(“file”, file);
return “fileUploadView”;
}
该MultipartFile类提供访问有关上传文件的详细信息,包括文件名,文件类型,等等。我们可以使用一个简单的HTML页面来显示此信息:
Submitted File
要在一个请求中上传多个文件,我们只需将多个输入文件字段放在表单内:
<form:form method=“POST” action=“/spring-mvc-java/uploadMultiFile” enctype=“multipart/form-data”>
</form:form>
我们需要注意每个输入字段都具有相同的名称,以便可以将其作为_MultipartFile_数组进行访问:
@RequestMappin