From b1f4fd76dbc3eaafe9296fe35b28b4e65510e367 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 19 十月 2022 09:16:45 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/data/StyleController.java    |    4 +-
 src/main/java/com/lf/server/controller/data/UploaderController.java |   17 +++++++-
 src/main/java/com/lf/server/service/data/UploaderService.java       |   81 +++++++++++++++++++++++++++++++++-------
 说明.txt                                                              |    6 ++-
 src/main/java/com/lf/server/controller/sys/ResController.java       |    4 +-
 5 files changed, 89 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/StyleController.java b/src/main/java/com/lf/server/controller/data/StyleController.java
index 6dc1153..c2109ff 100644
--- a/src/main/java/com/lf/server/controller/data/StyleController.java
+++ b/src/main/java/com/lf/server/controller/data/StyleController.java
@@ -253,7 +253,7 @@
             @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body")
     })
     @GetMapping(value = "/download")
-    public void download(String guid, HttpServletRequest req, HttpServletResponse res) {
-        uploaderService.download(guid, req, res, this);
+    public void download(String guid, HttpServletResponse res) {
+        uploaderService.download(guid, res);
     }
 }
diff --git a/src/main/java/com/lf/server/controller/data/UploaderController.java b/src/main/java/com/lf/server/controller/data/UploaderController.java
index 761e753..e6969af 100644
--- a/src/main/java/com/lf/server/controller/data/UploaderController.java
+++ b/src/main/java/com/lf/server/controller/data/UploaderController.java
@@ -3,7 +3,10 @@
 import com.lf.server.aspect.SysLog;
 import com.lf.server.controller.all.BaseController;
 import com.lf.server.entity.all.ResponseMsg;
+import com.lf.server.entity.data.MetaEntity;
+import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.service.data.UploaderService;
+import com.lf.server.service.sys.TokenService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,7 +18,7 @@
 /**
  * 鏁版嵁涓婁紶
  * @author WWW
- * @date 2022-10.17
+ * @date 2022-10-17
  */
 @Api(tags = "鏁版嵁绠$悊\\鏁版嵁涓婁紶")
 @RestController
@@ -24,13 +27,21 @@
     @Autowired
     UploaderService uploaderService;
 
+    @Autowired
+    TokenService tokenService;
+
     @SysLog()
     @ApiOperation(value = "涓婁紶鏁版嵁")
     @ResponseBody
-    @PostMapping({"/uploadData"})
+    @PostMapping(value = "/uploadData")
     public ResponseMsg<Object> uploadData(HttpServletRequest req, HttpServletResponse res) {
         try {
-            Object obj = uploaderService.uploadData(req, res);
+            UserEntity ue = tokenService.getCurrentUser(req);
+            if (ue == null) {
+                return fail("鐢ㄦ埛鏈櫥褰�", null);
+            }
+
+            Object obj = uploaderService.uploadData(ue, req, res);
 
             return success(obj);
         } catch (Exception ex) {
diff --git a/src/main/java/com/lf/server/controller/sys/ResController.java b/src/main/java/com/lf/server/controller/sys/ResController.java
index a9dc82e..deaa943 100644
--- a/src/main/java/com/lf/server/controller/sys/ResController.java
+++ b/src/main/java/com/lf/server/controller/sys/ResController.java
@@ -275,7 +275,7 @@
             @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body")
     })
     @GetMapping(value = "/download")
-    public void download(String guid, HttpServletRequest req, HttpServletResponse res) {
-        uploaderService.download(guid, req, res, this);
+    public void download(String guid, HttpServletResponse res) {
+        uploaderService.download(guid, res);
     }
 }
diff --git a/src/main/java/com/lf/server/service/data/UploaderService.java b/src/main/java/com/lf/server/service/data/UploaderService.java
index 96a9b71..2eee3fe 100644
--- a/src/main/java/com/lf/server/service/data/UploaderService.java
+++ b/src/main/java/com/lf/server/service/data/UploaderService.java
@@ -6,6 +6,8 @@
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.all.SettingData;
 import com.lf.server.entity.ctrl.FileInfo;
+import com.lf.server.entity.data.MetaEntity;
+import com.lf.server.entity.data.MetaFileEntity;
 import com.lf.server.entity.sys.AttachEntity;
 import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.helper.FileHelper;
@@ -31,7 +33,9 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.lang.reflect.Field;
 import java.net.URLEncoder;
+import java.sql.Timestamp;
 import java.util.*;
 
 /**
@@ -89,6 +93,9 @@
         }
     }
 
+    /**
+     * 鑾峰彇鏂囦欢 MD5 鐮�
+     */
     private String getFileMd5(String filePath) throws IOException {
         FileInputStream fileStream = new FileInputStream(filePath);
         String md5 = DigestUtils.md5Hex(fileStream);
@@ -97,6 +104,9 @@
         return md5;
     }
 
+    /**
+     * 鑾峰彇闄勪欢瀹炰綋绫�
+     */
     protected AttachEntity getAttachEntity(UserEntity ue, String tab, String oldName, String md5, long sizes) {
         AttachEntity entity = new AttachEntity();
         entity.setName(oldName);
@@ -115,7 +125,7 @@
     /**
      * 涓嬭浇鏂囦欢
      */
-    public void download(String guid, HttpServletRequest req, HttpServletResponse res, BaseController ctrl) {
+    public void download(String guid, HttpServletResponse res) {
         try {
             if (StringHelper.isEmpty(guid)) {
                 WebHelper.write2Page(res, NO_FILE);
@@ -158,6 +168,9 @@
         }
     }
 
+    /**
+     * 璁剧疆涓嬭浇鍝嶅簲淇℃伅
+     */
     private void setDownloadResponse(AttachEntity entity, HttpServletResponse res) throws IOException {
         String fileName = URLEncoder.encode(entity.getName(), "UTF-8");
 
@@ -175,15 +188,54 @@
     /**
      * 涓婁紶鏂囦欢
      */
-    public Object uploadData(HttpServletRequest request, HttpServletResponse res) throws Exception {
+    public Object uploadData(UserEntity ue, HttpServletRequest request, HttpServletResponse res) throws Exception {
         StandardMultipartHttpServletRequest req = (StandardMultipartHttpServletRequest) request;
         req.setCharacterEncoding("utf-8");
         res.setContentType("application/json;charset=utf-8");
 
-        Map<String, String> map = getParams(req);
-        List<FileInfo> list = getFiles(req);
+        MetaEntity me = getMetaEntity(req);
+        List<MetaFileEntity> list = getFiles(req);
+        //
 
         return list.size();
+    }
+
+    private MetaEntity getMetaEntity(StandardMultipartHttpServletRequest req) {
+        MetaEntity me = new MetaEntity();
+
+        Enumeration<String> enumeration = req.getParameterNames();
+        while (enumeration.hasMoreElements()) {
+            String key = enumeration.nextElement();
+
+            try {
+                Field field = me.getClass().getDeclaredField(key);
+                if (field != null) {
+                    field.setAccessible(true);
+                    String value = req.getParameter(key);
+                    switch (field.getType().toString()) {
+                        case "class java.lang.String":
+                            field.set(me, value);
+                            break;
+                        case "long":
+                            field.set(me, Long.valueOf(value));
+                            break;
+                        case "int":
+                            field.set(me, Integer.valueOf(value));
+                            break;
+                        case "class java.sql.Timestamp":
+                            field.set(me, Timestamp.valueOf(value));
+                            break;
+                        default:
+                            field.set(me, value);
+                            break;
+                    }
+                }
+            } catch (Exception ex) {
+                //
+            }
+        }
+
+        return me;
     }
 
     /**
@@ -207,25 +259,26 @@
     /**
      * 鑾峰彇鏂囦欢
      */
-    private List<FileInfo> getFiles(StandardMultipartHttpServletRequest req) throws Exception {
-        List<FileInfo> list = new ArrayList<FileInfo>();
+    private List<MetaFileEntity> getFiles(StandardMultipartHttpServletRequest req) throws Exception {
+        List<MetaFileEntity> list = new ArrayList<MetaFileEntity>();
 
         String path = pathHelper.getTempPath();
         Iterator<String> iterator = req.getFileNames();
         while (iterator.hasNext()) {
             MultipartFile file = req.getFile(iterator.next());
-
-            FileInfo fi = new FileInfo(file.getOriginalFilename());
-            if (StringHelper.isEmpty(fi.getFileName())) {
+            if (StringHelper.isEmpty(file.getOriginalFilename())) {
                 continue;
             }
 
-            fi.setSize(file.getSize());
-            fi.setPath(path + File.separator + fi.getFileName());
-            file.transferTo(new File(fi.getPath()));
-            fi.setMd5(getFileMd5(fi.getPath()));
+            MetaFileEntity mf = new MetaFileEntity();
+            mf.setName(file.getOriginalFilename());
+            mf.setSizes(file.getSize());
+            mf.setPath(path + File.separator + mf.getName());
 
-            list.add(fi);
+            file.transferTo(new File(mf.getPath()));
+            mf.setGuid(getFileMd5(mf.getPath()));
+
+            list.add(mf);
         }
 
         return list;
diff --git "a/\350\257\264\346\230\216.txt" "b/\350\257\264\346\230\216.txt"
index d535217..4d02d07 100644
--- "a/\350\257\264\346\230\216.txt"
+++ "b/\350\257\264\346\230\216.txt"
@@ -7,21 +7,23 @@
 6.鏂板缓鍜屼慨鏀圭敤鎴峰瘑鐮佹椂浣跨敤MD5鍔犲瘑
 7.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅
 8.楠岃瘉瀵嗙爜澶嶆潅搴�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃)
+9.浣跨敤GDAL璇诲彇tif銆乻hp銆乬db鏂囦欢
 -----------------------------------------------
 .鍚庡彴鏈嶅姟璁块棶娣诲姞鐧诲綍楠岃瘉鎷︽埅鍣�
 .寮�鍙戝垏闈㈡棩蹇楀姛鑳�
-.鏁版嵁搴撶洃鎺�(Druid Monitor)+鑷姩鐧诲綍
+.娣诲姞鏁版嵁搴撶洃鎺у姛鑳�(Druid Monitor)
 .涓嬭浇鏂囦欢骞惰缃甅IME绫诲瀷
 .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

--
Gitblit v1.9.3