<h1>上传单个文件</h1>
<form method="post" action="/file/upload" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit"/>
</form>
<h1>上传多个文件</h1>
<form method="post" action="/file/upload2" enctype="multipart/form-data">
<input type="file" name="file1"/>
<br/>
<input type="file" name="file2"/>
<input type="submit"/>
</form>
maven项目导入这个就够了:
<!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
然后 commons-io 也就会自动导入 
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="utf-8" />
<!-- 设置上传文件的最大尺寸为5MB -->
<property name="maxUploadSize" value="5242880"/>
</bean>
/**
* 对关于上传大小,类型的判断拦截 https://www.cnblogs.com/com-itheima-crazyStone/p/6807342.html
* 上传单个文件,使用MultipartFile作为方法参数接收传入的文件
* @param request
* @param file
* @param model
* @return
* @throws IOException
*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String doUploadFile(HttpServletRequest request, @RequestParam("file") MultipartFile file, Model model) throws IOException {
//获取一个保存文件的路径
String path = request.getSession().getServletContext().getRealPath("/upload");
//路径可能不存在,要对其判断,如果不存在则创建
File sourceFloader = new File(path);
if (!sourceFloader.exists()) {
//创建文件夹
sourceFloader.mkdir();
}
if (!file.isEmpty()) {
// 得到输入流
InputStream inputStream = file.getInputStream();
// 获取文件名
String filename = file.getOriginalFilename();
FileUtils.copyInputStreamToFile(inputStream, new File(path, filename));
model.addAttribute("path", "upload\\" + filename);
}
return "success";
}
/**
* 多文件上传
* MultipartHttpServletRequest来解析Request中的文件
* @param multiRequest
* @return
* @throws IOException
*/
@RequestMapping(value="/upload2", method=RequestMethod.POST)
public String doUploadFile2(HttpServletRequest request ,MultipartHttpServletRequest multiRequest ,Model model) throws IOException{
//获取一个保存文件的路径
String path = request.getSession().getServletContext().getRealPath("/upload");
//路径可能不存在,要对其判断,如果不存在则创建
File sourceFloader = new File(path);
if (!sourceFloader.exists()) {
//创建文件夹
sourceFloader.mkdir();
}
//获取到上传的文件
Iterator<String> filesNames = multiRequest.getFileNames();
List list = new ArrayList();
while(filesNames.hasNext()){
//获取到每一个文件
String fileName =filesNames.next();
MultipartFile file = multiRequest.getFile(fileName);
// 获取文件名
String filename = file.getOriginalFilename();
// 得到输入流
InputStream inputStream = file.getInputStream();
if(!file.isEmpty()){
FileUtils.copyInputStreamToFile(inputStream, new File(path, filename));
}
list.add("upload\\"+filename);
}
model.addAttribute("list" ,list);
return "success";
}
我们创建文件夹的位置: 
这边可能需要注意的就是:
enctype=”multipart/form-data”
MultipartFile
MultipartHttpServletRequest
其余的好像也没有什么了,
















