文件上传:
1.就是讲客户端的数据发送到服务器端的操作。
2.基于Apache的***commons-fileupload.jar***完成文件上传。
3.MultipartResolver作用:
(1)把客户端上传的文件流转换成MultipartFile封装类
(2)通过MultipartFile封装类获取到文件流
4.表单数据类型
(1)在的enctype属性控制表单类型
(2)默认值application/x-www-form-urlencoded,表示普通表单数据(少量文字信息)
(3)text/plain大量文字时使用的类型,例如:邮件、论文
(4)multipart/form-data 表单中包含二进制文件内容
5.实现步骤:
(1)导入SpringMVC包和Apache文件上传
commons-fileupload-1.3.1.jar
commons-io-2.2.jar
(2)JSP页面
<form action="upload" enctype="multipart/form-data"
method="post">
姓名:<input type="text" name="name"/><br/>
文件:<input type="file" name="file"/><br/>
<input type="submit" value=" 提交 "/>
</form>
(3)配置springmvc.xml
<!-- MultipartResovler 解析器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.Comm
onsMultipartResolver">
(4)控制器
MultipartFile对象名必须和 的name属性值相同
@RequestMapping("upload")
public void upload(MultipartFile file,String name){
String fileName = file.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf("."));
String uuid = UUID.randomUUID().toString();
try {
FileUtils.copyInputStreamToFile(file.getInputStream(),new File("D:/"+uuid+suffix));
} catch (IOException e) {
e.printStackTrace();
}
}