<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