1、文件上传表单
<form role="form" th:action="@{/upload}" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="exampleInputFile">头像</label>
<input type="file" name="headImage" id="exampleInputFile">
</div>
<div class="form-group">
<label for="exampleInputFile">生活照</label>
<input type="file" name="photo" multiple>
</div>
<button type="submit" class="btn btn-primary">提交</button>
</form>
2、编写文件上传 Controller
方法
/**
* MultipartFile 自动封装上传过来的文件
* @param username
* @param email
* @param headImage
* @param photo
* @return
*/
@PostMapping("/upload")
public String upload(@RequestPart("headImage") MultipartFile headImage,
@RequestPart("photo") MultipartFile[] photo) throws IOException {
if (!headImage.isEmpty()) {
// 拿到原始的文件名
String originalFilename = headImage.getOriginalFilename();
// 将文件保存到想要的路径
headImage.transferTo(new File("D:" + File.separator + "桌面" + File.separator + originalFilename));
}
if (photo.length > 0) {
for (MultipartFile multipartFile : photo) {
if (!multipartFile.isEmpty()) {
String originalFilename = multipartFile.getOriginalFilename();
multipartFile.transferTo(new File("D:" + File.separator + "桌面" + File.separator + originalFilename));
}
}
}
return "index";
}
3、设置上传文件最大的大小
在 application.properties
配置文件中设置:
# 设置上传文件最大的大小
spring.servlet.multipart.max-file-size=10MB
# 设置请求最大的大小
spring.servlet.multipart.max-request-size=100MB