Selaa lähdekoodia

上传文件 base64优化

hanzhiwei 3 vuotta sitten
vanhempi
commit
eaeaacbf74

+ 9 - 2
zd-modules/zd-base/src/main/java/com/zd/base/files/file/controller/SysFileController.java

@@ -1,5 +1,6 @@
 package com.zd.base.files.file.controller;
 
+import com.zd.base.files.file.enums.FileEnum;
 import com.zd.base.files.file.service.ISysFileService;
 import com.zd.common.core.utils.file.FileUtils;
 import com.zd.model.domain.R;
@@ -31,8 +32,14 @@ public class SysFileController {
     @PostMapping("/upload")
     public R<SysFile> upload(MultipartFile file) {
         try {
-            String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
-            String[] picSuffixList = {".jpg", ".png", ".jpeg", ".gif", ".bmp", ".ico",".pdf",".doc",".docx",".ppt",".pptx",".mp3",".mp4",".xls",".xlsx",".csv",".txt"};
+            String fileSuffix = "";
+            String originalFilename = file.getOriginalFilename();
+            if (FileEnum.getPrefix(originalFilename) != null) {
+                fileSuffix = FileEnum.getMessage(originalFilename);
+            }else {
+                fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
+            }
+            String[] picSuffixList = {".jpg", ".png", ".jpeg", ".gif", ".bmp", ".ico", ".pdf", ".doc", ".docx", ".ppt", ".pptx", ".mp3", ".mp4", ".xls", ".xlsx", ".csv", ".txt"};
             boolean suffixFlag = false;
             for (String white_suffix : picSuffixList) {
                 if (fileSuffix.toLowerCase().equals(white_suffix)) {

+ 42 - 0
zd-modules/zd-base/src/main/java/com/zd/base/files/file/enums/FileEnum.java

@@ -0,0 +1,42 @@
+package com.zd.base.files.file.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 文件枚举类
+ * @Author hzw
+ * @Date 2023/1/3 17:28
+ * @Version 2.0
+ */
+@Getter
+@AllArgsConstructor
+public enum FileEnum {
+    BASE64_JPEG(1,"data:image/jpeg",".jpeg"),
+    BASE64_ICO(2,"data:image/ico",".ico"),
+    BASE64_GIF(3,"data:image/gif",".gif"),
+    BASE64_PNG(4,"data:image/png",".png"),
+    BASE64_JPG(5,"data:image/jpg",".jpg");
+
+    private Integer code;
+    private String name;
+    private String message;
+
+    public static String getPrefix(String name) {
+        for (FileEnum fileEnum : values()) {
+            if (fileEnum.getName().equals(name)) {
+                return fileEnum.getName();
+            }
+        }
+        return null;
+    }
+
+    public static String getMessage(String name) {
+        for (FileEnum fileEnum : values()) {
+            if (fileEnum.getName().equals(name)) {
+                return fileEnum.getMessage();
+            }
+        }
+        return null;
+    }
+}