<form action="${pageContext.request.contextPath}/user/quick22" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件<input type="file" name="uploadFile"><br/> <input type="submit" value="提交"> </form>

> 当form表单修改为多部分表单时,request.getParameter()将失效。
> enctype="application/x-www-form-urlencoded" 时,form表单的正文内容格式是: key=value&key=value&key=value。
> 当form表单的enctype取值为Multipart/form-data时,请求正文内容就变成多部分形式。
> 导入fileupload 和 io 坐标
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
> spring-mvc.xml配置文件上传解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"/> // 上传文件的编码类型 <property name="maxUploadSize" value="5000000"/> // 上传文件总大小 <property name="maxUploadSizePerFile" value="500000"/> // 上传单个文件的大小 </bean>
> 文件上传代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Upload上传文件</title> </head> <body> <form action="${pageContext.request.contextPath}/user/quick22" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件<input type="file" name="uploadFile"><br/> <input type="submit" value="提交"> </form> </body> </html>
@RequestMapping("/quick22")
@ResponseBody
public void save22(String username, MultipartFile uploadFile) throws IOException {
System.out.println(username);
String originalFilename = uploadFile.getOriginalFilename();
uploadFile.transferTo(new File("E:\\java\\" + originalFilename));
}
> 导入包故障
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory ; 未正常导入jar包
<form action="${pageContext.request.contextPath}/user/quick23" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件<input type="file" name="uploadFile"><br/> 文件2<input type="file" name="uploadFile2"><br/> <input type="submit" value="提交"> </form>
@RequestMapping("/quick22")
@ResponseBody
public void save22(String username, MultipartFile uploadFile,MultipartFile uploadFile2) throws IOException {
System.out.println(username);
String originalFilename = uploadFile.getOriginalFilename();
uploadFile.transferTo(new File("E:\\java\\" + originalFilename));
String originalFilename2 = uploadFile2.getOriginalFilename();
uploadFile2.transferTo(new File("E:\\java\\" + originalFilename2));
}
@RequestMapping("/quick23")
@ResponseBody
public void save23(String username, MultipartFile[] uploadFile) throws IOException {
System.out.println(username);
for (MultipartFile file:uploadFile){
String originalFilename = file.getOriginalFilename();
file.transferTo(new File("E:\\java\\" + originalFilename));
}
}
<form action="${pageContext.request.contextPath}/user/quick23" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件<input type="file" name="uploadFile"><br/> 文件2<input type="file" name="uploadFile"><br/> 文件3<input type="file" name="uploadFile"><br/> <input type="submit" value="提交"> </form>
原文:https://www.cnblogs.com/kingdomer/p/14021224.html