本地文件上传到阿里云服务器

深碍√TFBOYSˉ_ 2024-03-17 09:33 162阅读 0赞
  1. //服务器存放地址
  2. @Value("/mnt/data/gis")
  3. private String comPicPath;
  4. @ApiOperation(value = "上传文件", notes = "上传文件")
  5. @PostMapping(value = "/compic")
  6. public Map upload(@RequestParam("file") MultipartFile file) throws IOException {
  7. // 企业图片地址
  8. String filenewname = "";
  9. String filepath = "";
  10. Map map = new HashMap();
  11. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  12. String format = "";
  13. //文件上传
  14. if (StringUtil.isNotEmpty(file)) {
  15. //获取文件名
  16. String filename = file.getOriginalFilename();
  17. //文件名后缀
  18. String suffix = filename.substring(filename.lastIndexOf("."));
  19. //随机生成的文件名称和原本的文件名后缀
  20. filenewname = UUID.randomUUID() + suffix;
  21. format = sdf.format(new Date());
  22. File folder = new File(comPicPath + format);
  23. if (!folder.exists() && !folder.isDirectory()) {
  24. folder.setWritable(true, false);
  25. folder.mkdirs();
  26. log.info("创建文件夹");
  27. } else {
  28. log.info("文件夹已存在");
  29. }
  30. filepath = comPicPath + format + File.separator + filenewname;
  31. file.transferTo(new File(filepath));
  32. String url = "阿里云地址" + format + "/" + filenewname;
  33. map.put("url", url);
  34. map.put("state", "SUCCESS");
  35. map.put("original", filename);
  36. map.put("size", file.getSize());
  37. map.put("title", filename);
  38. map.put("type", suffix);
  39. } else {
  40. ValueUtil.isError("文件不能为空,请选择文件");
  41. }
  42. return map;
  43. }

上传成功以后是存到了服务器的缓存目录,需要执行docker命令,进行路径映射
这里是做了两个映射,前面是上传文件映射,后面是项目日志的映射

  1. docker run --restart=always -v /mnt/data/gis:/mnt/data/gis -v /mnt/data/${JOB_BASE_NAME}/logs:/logs --name ${JOB_BASE_NAME} -p 5009:5009 -d ${JOB_BASE_NAME}

发表评论

表情:
评论列表 (有 0 条评论,162人围观)

还没有评论,来说两句吧...

相关阅读