一. 单文件上传
1.上传文件的步骤:
1.导入fileupload和io的坐标
2.配置文件上传解析器
3.编写文件上传代码
2.文件上传3要锁:
1表单项 type=file
2.表单的提交方式为post
3.表单的提交方式encytype是多部分表单形式,以及enctype=“multipart/form-data”
1.1 配置坐标依赖
<!--文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
1.2 配置文件上传解析器
<!--上传文件解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传文件总大小-->
<property name="maxUploadSize" value="524280"></property>
<!-- 上传单个文件大小-->
<property name="maxUploadSizePerFile" value="524280"></property>
<!-- 上传文件的编码类型-->
<property name="defaultEncoding" value="utf-8"></property>
</bean>
1.3 controller代码
/**
* 跳转到upload页面
* @return
*/
@RequestMapping("/upload")
public String bike14(){
System.out.println("upload:");
return "upload";
}
/**
* 跳转到upload页面
* @return
*/
@RequestMapping("/uploadFile")
@ResponseBody
public void bike15(String userName, MultipartFile uploadFile) throws IOException {
System.out.println("upload:");
//带有file路径的文件名称
String fileName= uploadFile.getOriginalFilename();
uploadFile.transferTo(new File("d:\\upload\\"+fileName));
}
}
1.4 jsp页面
<form action="${pageContext.request.contextPath}/uploadFile" METHOD="POST" ENCTYPE="multipart/form-data">
名称:<input type="text" name="userName"></br>
文件:<input type="file" name="uploadFile"></br>
<input type="submit" value="提交">
</form>
1.5 重启服务,操作上传
二. 多文件上传
2.1 controller代码
/**
* 跳转到upload页面
* @return
*/
@RequestMapping("/uploads")
public String bike15(){
System.out.println("uploads:");
return "uploads";
}
/**
* 跳转到upload页面
* @return
*/
@RequestMapping("/uploadFiles")
@ResponseBody
public void bike16(String userName, MultipartFile uploadFiles[]) throws IOException {
System.out.println("uploads:");
//带有file路径的文件名称
for(MultipartFile uploadFile:uploadFiles){
String fileName= uploadFile.getOriginalFilename();
uploadFile.transferTo(new File("d:\\upload\\"+fileName));
}
System.out.println("上传完成!!!");
}
2.2 jsp页面代码
<form action="${pageContext.request.contextPath}/uploadFiles" METHOD="POST" ENCTYPE="multipart/form-data">
名称:<input type="text" name="userName"></br>
文件1:<input type="file" name="uploadFiles"></br>
文件2:<input type="file" name="uploadFiles"></br>
<input type="submit" value="提交">
</form>
</body>
2.3 页面访问