@ApiOperation(value = "文件上传")
@PostMapping(value = "/fileUpload")
public String upload(HttpServletRequest request,
@RequestParam("description") String description,
@RequestParam("file") MultipartFile file) throws IllegalStateException, IOException {
// 获取文件描述参数 description,纯粹测试使用
System.out.println("description = " + description);
// 测试MultipartFile接口的各个方法
System.out.println("文件类型ContentType=" + file.getContentType());
System.out.println("文件组件名称Name=" + file.getName());
System.out.println("文件原名称OriginalFileName=" + file.getOriginalFilename());
System.out.println("文件大小Size=" + file.getSize()/1024 + "KB");
// 如果文件不为空,写入上传路径,进行文件上传
if (!file.isEmpty()) {
// 构建上传文件的存放路径
String path = request.getServletContext().getRealPath("/upload/");
System.out.println("path = " + path);
// 获取上传的文件名称,并结合存放路径,构建新的文件名称
String filename = file.getOriginalFilename();
// 随机生成文件名,使用时间戳
String hz = filename.substring(filename.lastIndexOf("."));
String filename2 = new Date().getTime() + hz;
File filepath = new File(path, filename2);
// 判断路径是否存在,不存在则新创建一个
if (!filepath.getParentFile().exists()) {
filepath.getParentFile().mkdirs();
}
// 将上传文件保存到目标文件目录
file.transferTo(new File(path + File.separator + filename2));
System.out.println("文件现名称=" + filename2);
return "success";
} else {
return "error";
}
}
Spring boot 文件上传:
最新推荐文章于 2024-05-11 20:15:00 发布