Spring Boot文件上传
Spring Boot文件上传
配置文件上传属性: 在application.properties文件中配置文件上传的属性,包括上传目录的路径、文件大小限制等。
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
处理文件上传请求
上传的文件按照日期进行归类,使用UUID
给文件重命名
@PostMapping("/upload/")
@ResponseBody
public Response upload(MultipartFile file) {
// 验证是否有文件
if(file == null || file.isEmpty()){
return Response.newFail("Upload failed, please select file",400);
}
// 文件保存目录
SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/");
String format = sdf.format(new Date());
String filePath = "D:/flies/springboot/"+format;
// 验证文件夹
File folder = new File(filePath);
if (!folder.exists()) {
folder.mkdirs();
}
// 文件名
String fileName = UUID.randomUUID() + file.getOriginalFilename();
filePath = filePath + fileName;
File saveFile = new File(filePath);
try {
file.transferTo(saveFile);
return Response.newSuccess("Upload successful");
} catch (IOException e) {
e.printStackTrace();
return Response.newFail("Upload failed",50001);
}
}
文件过大
如果遇到文件过大出现413状态码无结果
需要统一返回json,可以参考
Springboot封装统一返回结果及全局异常处理