From 09b4103133939c8562e1768018ad6d4e6f0d67c8 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 18 十月 2022 09:23:21 +0800
Subject: [PATCH] 1

---
 /dev/null                                                           |   50 ------------
 src/main/java/com/lf/server/helper/StringHelper.java                |   10 ++
 src/main/java/com/lf/server/helper/GdalHelper.java                  |   16 +--
 src/main/java/com/lf/server/controller/data/UploaderController.java |   40 ++++++++++
 src/main/java/com/lf/server/helper/FileHelper.java                  |   10 ++
 说明.txt                                                              |   27 ++++--
 src/main/java/com/lf/server/service/all/FileService.java            |   65 +++++++++++++---
 7 files changed, 135 insertions(+), 83 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/UploaderController.java b/src/main/java/com/lf/server/controller/data/UploaderController.java
new file mode 100644
index 0000000..cda26f5
--- /dev/null
+++ b/src/main/java/com/lf/server/controller/data/UploaderController.java
@@ -0,0 +1,40 @@
+package com.lf.server.controller.data;
+
+import com.lf.server.aspect.SysLog;
+import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.service.all.FileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 鏁版嵁涓婁紶
+ * @author WWW
+ * @date 2022-10.17
+ */
+@Api(tags = "鏁版嵁绠$悊\\鏁版嵁涓婁紶")
+@RestController
+@RequestMapping("/uploader")
+public class UploaderController extends BaseController {
+    @Autowired
+    FileService fileService;
+
+    @SysLog()
+    @ApiOperation(value = "涓婁紶鏁版嵁")
+    @ResponseBody
+    @PostMapping({"/uploadData"})
+    public ResponseMsg<Object> uploadData(HttpServletRequest req, HttpServletResponse res) {
+        try {
+            fileService.uploadData(req, res);
+
+            return success("");
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
+}
diff --git a/src/main/java/com/lf/server/entity/ctrl/LayerDto.java b/src/main/java/com/lf/server/entity/ctrl/LayerDto.java
deleted file mode 100644
index 2576c93..0000000
--- a/src/main/java/com/lf/server/entity/ctrl/LayerDto.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.lf.server.entity.ctrl;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 鍥惧眰淇℃伅
- * @author WWW
- */
-public class LayerDto {
-    private long count;
-
-    private String layerName;
-
-    private List<Map> list;
-
-    private List<Map<String, String>> map;
-
-    public long getCount() {
-        return count;
-    }
-
-    public void setCount(long count) {
-        this.count = count;
-    }
-
-    public String getLayerName() {
-        return layerName;
-    }
-
-    public void setLayerName(String layerName) {
-        this.layerName = layerName;
-    }
-
-    public List<Map> getList() {
-        return list;
-    }
-
-    public void setList(List<Map> list) {
-        this.list = list;
-    }
-
-    public List<Map<String, String>> getMap() {
-        return map;
-    }
-
-    public void setMap(List<Map<String, String>> map) {
-        this.map = map;
-    }
-}
diff --git a/src/main/java/com/lf/server/helper/FileHelper.java b/src/main/java/com/lf/server/helper/FileHelper.java
index 6781262..91a82d3 100644
--- a/src/main/java/com/lf/server/helper/FileHelper.java
+++ b/src/main/java/com/lf/server/helper/FileHelper.java
@@ -1,6 +1,7 @@
 package com.lf.server.helper;
 
 import java.io.File;
+import java.util.Date;
 
 /**
  * 鏂囦欢甯姪绫�
@@ -132,4 +133,13 @@
                 return "application/octet-stream";
         }
     }
+
+    /**
+     * 鑾峰彇涓存椂璺緞
+     *
+     * @return
+     */
+    public static String getTempPath() {
+        return StringHelper.YMD_HM_FORMAT.format(new Date());
+    }
 }
diff --git a/src/main/java/com/lf/server/helper/GdalHelper.java b/src/main/java/com/lf/server/helper/GdalHelper.java
index 48bffcb..d8df6fe 100644
--- a/src/main/java/com/lf/server/helper/GdalHelper.java
+++ b/src/main/java/com/lf/server/helper/GdalHelper.java
@@ -1,6 +1,5 @@
 package com.lf.server.helper;
 
-import com.lf.server.entity.ctrl.LayerDto;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.gdal.gdal.Band;
@@ -154,14 +153,14 @@
         }
     }
 
-    public static LayerDto getLayerDto(String filePath) {
+    public static void getLayerDto(String filePath) {
         org.gdal.ogr.Driver driver = ogr.GetDriverByName("OpenFileGDB");
         if (driver == null) {
-            return null;
+            return;
         }
+
         List<Map> list = new ArrayList<>();
         List<Map<String, String>> mapList = new ArrayList<>();
-        LayerDto layerDto = new LayerDto();
         DataSource dataSource = null;
         try {
             dataSource = driver.Open(filePath, 0);
@@ -208,10 +207,10 @@
                         feature.delete();
                     } while (true);
                 }
-                layerDto.setLayerName(strlayerName);
-                layerDto.setList(list);
-                layerDto.setCount(count);
-                layerDto.setMap(mapList);
+                //layerDto.setLayerName(strlayerName);
+                //layerDto.setList(list);
+                //layerDto.setCount(count);
+                //layerDto.setMap(mapList);
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -220,7 +219,6 @@
                 dataSource.delete();
             }
         }
-        return layerDto;
     }
 
     /**
diff --git a/src/main/java/com/lf/server/helper/StringHelper.java b/src/main/java/com/lf/server/helper/StringHelper.java
index d229fe0..6c538be 100644
--- a/src/main/java/com/lf/server/helper/StringHelper.java
+++ b/src/main/java/com/lf/server/helper/StringHelper.java
@@ -28,6 +28,16 @@
      */
     public static final SimpleDateFormat YMDHMS_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
+    /**
+     * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 3
+     */
+    public static final SimpleDateFormat YMD__FORMAT = new SimpleDateFormat("yyyyMMdd_");
+
+    /**
+     * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 4
+     */
+    public static final SimpleDateFormat YMD_HM_FORMAT = new SimpleDateFormat("yyyyMMdd_HHmm");
+
     public static final double D1024 = 1024.0;
 
     /**
diff --git a/src/main/java/com/lf/server/service/all/FileService.java b/src/main/java/com/lf/server/service/all/FileService.java
index a5d28e2..cca7864 100644
--- a/src/main/java/com/lf/server/service/all/FileService.java
+++ b/src/main/java/com/lf/server/service/all/FileService.java
@@ -31,6 +31,7 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
@@ -45,6 +46,14 @@
 
     @Autowired
     AttachService attachService;
+
+    private final static double D92 = 92;
+
+    private final static long ONE_DAY = 24 * 60 * 60 * 1000;
+
+    private final static long SIZE_MAX = 1024 * 1024 * 1024 * 1024;
+
+    private final static long FILE_SIZE_MAX = 256 * 1024 * 1024 * 1024;
 
     private final static Log log = LogFactory.getLog(FileService.class);
 
@@ -172,19 +181,16 @@
 
     /**
      * 涓婁紶鏂囦欢
-     *
-     * @param req
-     * @param res
      */
-    public void upload(HttpServletRequest req, HttpServletResponse res) {
+    public void uploadData(HttpServletRequest req, HttpServletResponse res) {
         try {
             // 澶勭悊涓枃涔辩爜闂
             req.setCharacterEncoding("utf-8");
             res.setContentType("text/html;charset=utf-8");
 
-            // 妫�鏌ヨ姹傛槸/鍚︽槸multipart/form-data绫诲瀷
+            // 妫�鏌ヨ姹傛槸/鍚︿负multipart/form-data绫诲瀷
             if (!ServletFileUpload.isMultipartContent(req)) {
-                throw new RuntimeException("琛ㄥ崟鐨別nctype灞炴�т笉鏄痬ultipart/form-data绫诲瀷锛侊紒");
+                throw new RuntimeException("琛ㄥ崟鐨別nctype灞炴�т笉鏄痬ultipart/form-data绫诲瀷");
             }
 
             // 鍒涘缓涓婁紶鎵�闇�瑕佺殑涓や釜瀵硅薄锛氱鐩樻枃浠跺璞�+鏂囦欢涓婁紶瀵硅薄
@@ -192,18 +198,15 @@
             ServletFileUpload sfu = new ServletFileUpload(factory);
             ServletRequestContext ctx = new ServletRequestContext(req);
 
-            //闄愬埗鍗曚釜鏂囦欢鐨勫ぇ灏�
-            sfu.setFileSizeMax(1024 * 10);
-
-            //闄愬埗涓婁紶鐨勬�绘枃浠跺ぇ灏�
-            sfu.setSizeMax(1024 * 200);
-
+            // 闄愬埗涓婁紶鐨勬�绘枃浠跺ぇ灏�
+            sfu.setSizeMax(SIZE_MAX);
+            // 闄愬埗鍗曚釜鏂囦欢鐨勫ぇ灏�
+            sfu.setFileSizeMax(FILE_SIZE_MAX);
             // 璁剧疆缂栫爜鏂瑰紡
             sfu.setHeaderEncoding("utf-8");
 
             // list瀹瑰櫒鐢ㄦ潵淇濆瓨琛ㄥ崟涓殑鎵�鏈夋暟鎹俊鎭�
             List<FileItem> items = sfu.parseRequest(ctx);
-
             // 閬嶅巻瀹瑰櫒锛屽鐞嗚В鏋愮殑鍐呭锛氫竴涓鐞嗘櫘閫氳〃鍗曞煙锛屼竴涓鐞嗘枃浠剁殑琛ㄥ崟鍩�
             for (FileItem item : items) {
                 if (item.isFormField()) {
@@ -281,4 +284,40 @@
             e.printStackTrace();
         }
     }
+
+
+    /**
+     * 鑾峰彇涓存椂璺緞
+     */
+    public String getTempPath() {
+        String tempName = FileHelper.getTempPath();
+        String tempPath = pathHelper.getConfig().getTempPath();
+        String path = tempPath + File.separator + tempName;
+
+        File file = new File(path);
+        if (!file.exists() && !file.isDirectory()) {
+            file.mkdirs();
+        }
+
+        double ran = Math.random() * 99;
+        if (ran > D92) {
+            deleteOldPath();
+        }
+
+        return path;
+    }
+
+    public void deleteOldPath() {
+        try {
+            Long time = System.currentTimeMillis();
+            for (int i = 1, c = 30; i < c; i++) {
+                Date date = new Date(time - i * ONE_DAY);
+                String str = StringHelper.YMD__FORMAT.format(date);
+
+                //
+            }
+        } catch (Exception ex) {
+            log.error(ex.getMessage() + ex.getStackTrace() + "\n");
+        }
+    }
 }
diff --git "a/\350\257\264\346\230\216.txt" "b/\350\257\264\346\230\216.txt"
index 973635e..d535217 100644
--- "a/\350\257\264\346\230\216.txt"
+++ "b/\350\257\264\346\230\216.txt"
@@ -4,21 +4,24 @@
 3.鐧诲綍鏃剁殑鐢ㄦ埛鍚嶅拰瀵嗙爜浣跨敤RSA鍔犲瘑銆佽В瀵�
 4.WebSocket鏈嶅姟
 5.璧勬簮瀹炴椂鐩戞帶锛圕PU淇℃伅+鍐呭瓨淇℃伅+鍦ㄧ嚎鐢ㄦ埛+璧勬簮鐘舵�侊級
-
-.淇敼鐢ㄦ埛瀵嗙爜鏃朵娇鐢∕D5+Salt瀵嗙爜
-.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅
-.瀵嗙爜澶嶆潅搴﹂獙璇�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃)
+6.鏂板缓鍜屼慨鏀圭敤鎴峰瘑鐮佹椂浣跨敤MD5鍔犲瘑
+7.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅
+8.楠岃瘉瀵嗙爜澶嶆潅搴�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃)
+-----------------------------------------------
 .鍚庡彴鏈嶅姟璁块棶娣诲姞鐧诲綍楠岃瘉鎷︽埅鍣�
 .寮�鍙戝垏闈㈡棩蹇楀姛鑳�
 .鏁版嵁搴撶洃鎺�(Druid Monitor)+鑷姩鐧诲綍
 .涓嬭浇鏂囦欢骞惰缃甅IME绫诲瀷
-
-1.Redis鏈嶅姟閰嶇疆寮哄瘑鐮侊紝SpringBoot鍚敤瀵嗙爜
-2.鎵归噺淇敼鐢ㄦ埛瀵嗙爜
-3.淇敼鎵�鏈夌殑鎵归噺鏂板銆佸垹闄ゃ�佷慨鏀规帴鍙�
-4.浣跨敤GDAL璇诲彇tif銆乻hp銆乬db鏂囦欢
-5.5鍒嗛挓瀵嗙爜閿欒5娆℃嫆缁濈櫥褰� * <<
-6.涓婁紶鏂囦欢锛坈ommons-fileupload锛� *
+.5鍒嗛挓瀵嗙爜閿欒5娆℃嫆缁濈櫥褰�
+.Redis鏈嶅姟閰嶇疆寮哄瘑鐮�
+.娣诲姞鎵归噺淇敼鐢ㄦ埛瀵嗙爜鎺ュ彛
+.淇敼鎵�鏈夌殑鎵归噺鏂板銆佸垹闄ゃ�佷慨鏀规帴鍙�
+.浣跨敤GDAL璇诲彇tif銆乻hp銆乬db鏂囦欢
+-----------------------------------------------
+1.涓婁紶鏂囦欢锛坈ommons-fileupload锛� *
+2.瀵圭敤鎴枫�佽彍鍗曘�佽鑹层�佽祫婧愯繘琛屾巿鏉�
+3.娣诲姞鏌ヨ瑙掕壊銆佽彍鍗曘�佽祫婧愭潈闄愭帴鍙�
+4.鎺ュ彛搴旂敤鑿滃崟鏉冮檺
 ----------------------------------------------------------------------------------------------------
 java 璋冪敤gdal璇诲彇gdb鏁版嵁锛宭inux涓媕ava璋冪敤gdal锛�
 https://blog.csdn.net/weixin_53853459/article/details/120954597
@@ -61,6 +64,8 @@
 
 new String(Base64.getDecoder().decode(username));
 
+涓嬭浇锛歨ttp://127.0.0.1:12316/style/download?guid=15deb4e6bf02db827e39521758520fd5
+
 浣跨敤Commons FileUpLoad缁勪欢瀹炵幇鏂囦欢涓婁紶鍔熻兘锛�
 https://www.itdaan.com/blog/2017/08/08/b2dbc1106fa7.html
 ----------------------------------------------------------------------------------------------------

--
Gitblit v1.9.3