1 @PostMapping("/upload_file")
2 public Map<String, Object> uploadFile(
3 @RequestParam(value = "upload_file", required = false) MultipartFile uploadFile
4 ) {
5 Map<String, Object> resultJson = new LinkedHashMap<>();
6 if (uploadFile == null || uploadFile.isEmpty()) {
7 resultJson.put("code", -1);
8 resultJson.put("msg", "上传文件不得为空");
9 return resultJson;
10 }
11 String originalFilename = uploadFile.getOriginalFilename(); // 上传的文件原名称
12 String suffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1) ; // 取后缀名
13
14 String newFileName = DigestUtils.md5DigestAsHex((System.currentTimeMillis() + originalFilename).getBytes()) + "." + suffix; // 新的文件名
15 try {
16 String fileRootPath = ResourceUtils.getURL("classpath:").getPath() + "/public/"; // 取项目的 classpath目录的绝对路径下的 public文件夹下
17 String filePath = fileRootPath + "/upload/" + newFileName;
18
19 File file1 = new File(filePath);
20 if (!file1.exists()) file1.mkdirs(); // 要是目录不存在,创建一个
21 uploadFile.transferTo(file1); // 保存起来
22
23 resultJson.put("code", 1);
24 resultJson.put("data", "/upload/" + newFileName);
25 resultJson.put("msg", "保存成功");
26 }catch (Exception e) {
27 e.printStackTrace();
28 resultJson.put("code", 0);
29 resultJson.put("msg", e.getMessage());
30 }
31 return resultJson;
32 }