Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

dengsixing 3 gadi atpakaļ
vecāks
revīzija
872dbecb4d

+ 81 - 0
4dkankan-common-utils/src/main/java/com/fdkankan/common/util/BASE64DecodedMultipartFile.java

@@ -0,0 +1,81 @@
+package com.fdkankan.common.util;
+
+import org.springframework.web.multipart.MultipartFile;
+import sun.misc.BASE64Decoder;
+
+import java.io.*;
+
+public class BASE64DecodedMultipartFile implements MultipartFile {
+    private final byte[] imgContent;
+    private final String header;
+
+    public BASE64DecodedMultipartFile(byte[] imgContent, String header) {
+        this.imgContent = imgContent;
+        this.header = header.split(";")[0];
+    }
+
+    @Override
+    public String getName() {
+        // TODO - implementation depends on your requirements
+        return System.currentTimeMillis() + Math.random() + "." + header.split("/")[1];
+    }
+
+    @Override
+    public String getOriginalFilename() {
+        // TODO - implementation depends on your requirements
+        return System.currentTimeMillis() + (int)Math.random() * 10000 + "." + header.split("/")[1];
+    }
+
+    @Override
+    public String getContentType() {
+        // TODO - implementation depends on your requirements
+        return header.split(":")[1];
+    }
+
+    @Override
+    public boolean isEmpty() {
+        return imgContent == null || imgContent.length == 0;
+    }
+
+    @Override
+    public long getSize() {
+        return imgContent.length;
+    }
+
+    @Override
+    public byte[] getBytes() throws IOException {
+        return imgContent;
+    }
+
+    @Override
+    public InputStream getInputStream() throws IOException {
+        return new ByteArrayInputStream(imgContent);
+    }
+
+    @Override
+    public void transferTo(File dest) throws IOException, IllegalStateException {
+        new FileOutputStream(dest).write(imgContent);
+    }
+
+
+    public static MultipartFile base64ToMultipart(String base64) {
+        try {
+            String[] baseStrs = base64.split(",");
+
+            BASE64Decoder decoder = new BASE64Decoder();
+            byte[] b = new byte[0];
+            b = decoder.decodeBuffer(baseStrs[1]);
+
+            for(int i = 0; i < b.length; ++i) {
+                if (b[i] < 0) {
+                    b[i] += 256;
+                }
+            }
+            return new BASE64DecodedMultipartFile(b, baseStrs[0]);
+        } catch (IOException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+}

+ 19 - 0
4dkankan-utils-fyun/src/main/java/com/fdkankan/fyun/oss/OssFilePath.java

@@ -0,0 +1,19 @@
+package com.fdkankan.fyun.oss;
+
+public class OssFilePath {
+    /**
+     * oss.用户上传文件
+     */
+    public static final String USER_EDIT_PATH =  "scene_edit_data/%s/user/";
+    public static final String USER_VIEW_PATH =  "scene_view_data/%s/user/";
+    /**
+     * 场景数据
+     */
+    public static final String DATA_EDIT_PATH =  "scene_edit_data/%s/data/";
+    public static final String DATA_VIEW_PATH =  "scene_view_data/%s/data/";
+    /**
+     * 场景图片
+     */
+    public static final String IMG_EDIT_PATH =  "scene_edit_data/%s/img/";
+    public static final String IMG_VIEW_PATH =  "scene_view_data/%s/img/";
+}