1. 文件上传
在web开发中一般会有文件上传的操作
一般JavaWeb开发中文件上传使用的 Apache组织的Commons FileUpload组件
SpringMVC中使用 MultipartFile file对象接受上传文件,必须保证 后台参数的名称和表单提交的文件的名称一致
文件上传必须条件
1. 表单必须post
2. 表单必须有 file 文件域
3. 表单的 enctype="multipart/form-data"
1.1. 拷贝jar包
1.2. 准备jsp页面
<fieldset>
<legend>单个文件上传</legend>
<form action="${pageContext.request.contextPath}/upload.do" method="post" enctype="multipart/form-data">
姓名: <input name="username"><br>
头像: <input type="file" name="headImg"><br>
<button type="submit">提交</button>
</form>
</fieldset>
1.3. 后台代码
SpringMVC中使用 MultipartFile file对象接受上传文件,必须保证 后台方法MultipartFile 参数的名称和表单提交的文件的名称一致
//SpringMVC中使用 MultipartFile file对象接受上传文件,必须保证 后台参数的名称和表单提交的文件的名称一致
@RequestMapping("/upload")
public String singleUpload(MultipartFile headImg,@RequestParam("username")String username) throws IOException {
System.out.println(headImg.getName());//获取上传文件的表单名称
System.out.println(headImg.getContentType());//MIME类型
System.out.println(headImg.getSize());//文件大小
System.out.println(headImg.getOriginalFilename());//获取上传文件的完整名称
//获取上传文件对应的输入流
//InputStream in = headImg.getInputStream();
//创建一个磁盘目录用于保存文件
File destFile= new File("c:/upload");
if(!destFile.exists()) {
destFile.mkdir();
}
//使用uuid作为文件随机名称
String fileName = UUID.ran