BaseService.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.lqkj.link.module.base.service;
  2. import com.lqkj.link.message.MessageBean;
  3. import com.lqkj.link.util.AliOSSUtils;
  4. import com.lqkj.link.util.FileUtils;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import org.springframework.web.multipart.MultipartFile;
  8. import java.io.IOException;
  9. import java.util.UUID;
  10. @Service
  11. public class BaseService {
  12. @Autowired
  13. private AliOSSUtils aliOSSUtils;
  14. public MessageBean<String> uploadImg(MultipartFile file, String path) {
  15. String fileName = file.getOriginalFilename();
  16. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  17. if (!suffix.equals("png") && !suffix.equals("jpg"))
  18. return MessageBean.error("上传文件类型必须是png、jpg图片文件");
  19. String newFileName = UUID.randomUUID() + "." + suffix;
  20. String filePath = "./upload/" + path;
  21. FileUtils.saveFile(file, filePath, newFileName);
  22. return MessageBean.ok(filePath.substring(1) + newFileName, "上传图标文件");
  23. }
  24. public MessageBean<String> uploadVideo(MultipartFile file, String path) {
  25. String fileName = file.getOriginalFilename();
  26. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  27. if (!suffix.equals("mp4"))
  28. return MessageBean.error("上传文件类型必须是mp4视频文件");
  29. String newFileName = UUID.randomUUID() + "." + suffix;
  30. String filePath = "./upload/" + path;
  31. FileUtils.saveFile(file, filePath, newFileName);
  32. return MessageBean.ok(filePath.substring(1) + newFileName, "上传视频文件");
  33. }
  34. public MessageBean<String> uploadAudio(MultipartFile file, String path) {
  35. String fileName = file.getOriginalFilename();
  36. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  37. if (!suffix.equals("mp3"))
  38. return MessageBean.error("上传文件类型必须是mp3音频文件");
  39. String newFileName = UUID.randomUUID() + "." + suffix;
  40. String filePath = "./upload/" + path;
  41. FileUtils.saveFile(file, filePath, newFileName);
  42. return MessageBean.ok(filePath.substring(1) + newFileName, "上传音频文件");
  43. }
  44. public MessageBean<String> uploadModelCompress(MultipartFile file, String path) {
  45. String fileName = file.getOriginalFilename();
  46. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  47. if (!suffix.equals("zip")) {
  48. return MessageBean.error("上传文件类型必须是zip格式的模型文件");
  49. }
  50. String newFileName = UUID.randomUUID() + "." + suffix;
  51. String filePath = "./upload/" + path;
  52. FileUtils.saveFile(file, filePath, newFileName);
  53. return MessageBean.ok(filePath.substring(1) + newFileName, "上传模型压缩文件");
  54. }
  55. public MessageBean<String> uploadModel(MultipartFile file, String path) {
  56. String fileName = file.getOriginalFilename();
  57. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  58. if (!suffix.equals("obj") && !suffix.equals("fbx"))
  59. return MessageBean.error("上传文件类型必须是obj、fbx格式的压缩文件");
  60. String newFileName = UUID.randomUUID() + "." + suffix;
  61. String filePath = "./upload/" + path;
  62. FileUtils.saveFile(file, filePath, newFileName);
  63. return MessageBean.ok(filePath.substring(1) + newFileName, "上传模型文件");
  64. }
  65. public MessageBean<String> uploadJsonFile(MultipartFile file, String path) {
  66. String fileName = file.getOriginalFilename();
  67. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  68. if (!suffix.equals("json"))
  69. return MessageBean.error("上传文件类型必须是json格式的json文件");
  70. String newFileName = UUID.randomUUID() + "." + suffix;
  71. String filePath = "./upload/" + path;
  72. FileUtils.saveFile(file, filePath, newFileName);
  73. return MessageBean.ok(filePath.substring(1) + newFileName, "上传模型文件");
  74. }
  75. public String ossUpload(MultipartFile file) {
  76. try {
  77. return aliOSSUtils.upload(file);
  78. } catch (IOException e) {
  79. throw new RuntimeException(e);
  80. }
  81. }
  82. public String ossAddModel(MultipartFile file, String s) {
  83. String fileName = file.getOriginalFilename();
  84. String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1);
  85. if (!suffix.equals("obj") && !suffix.equals("fbx") && !suffix.equals("FBX"))
  86. throw new RuntimeException("上传文件类型必须是obj、fbx格式的压缩文件");
  87. if (aliOSSUtils.ossCheckCapacity(s) + file.getSize() >= 21474836480L)
  88. throw new RuntimeException("容量已满,无法上传文件");
  89. try {
  90. return aliOSSUtils.addModel(file, s);
  91. } catch (Exception e) {
  92. throw new RuntimeException(e);
  93. }
  94. }
  95. }