From dc66d99f3d8172335cabc85297ae370c15e72b32 Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期六, 05 六月 2021 21:31:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test_future_wangge' into test_future_wangge

---
 springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java b/springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java
index d0a2634..633e597 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java
@@ -16,10 +16,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
@@ -105,4 +102,52 @@
 
     }
 
+
+    @ApiOperation(value = "批量上传照片/视频 (jpg/jpeg/png/mp4/mov)")
+    @PostMapping(value = "uploads", consumes = "multipart/*", headers = "content-type=multipart/form-date")
+    public R uploadImages(@RequestParam MultipartFile[] files, HttpServletRequest request) throws IOException {
+//        微信图片内容校验
+//        WxMaSecCheckService wxMaSecCheckService = wxMaConfiguration.getMaService().getSecCheckService();
+        String property = System.getProperty("user.dir");
+        String fileExtension = ".jpg";
+
+        List<String> urlList = new ArrayList<>();
+        SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+        sftp.login();
+
+        for (MultipartFile file:files) {
+            String originName = file.getOriginalFilename();
+            AtomicBoolean isVideo = new AtomicBoolean(false);
+            videoExtensionAllow.forEach(ext ->{
+                String originNameLowerCase = originName.toLowerCase();
+                if(originNameLowerCase.endsWith("." +ext)){
+                    isVideo.set(true);
+                }
+            });
+            if(isVideo.get()){
+                fileExtension = ".mp4";
+            }
+
+            if(originName.toLowerCase().endsWith(".mp3")){
+                fileExtension = ".mp3";
+            }
+
+            String name = UUID.randomUUID().toString().replaceAll("-", "") + fileExtension;
+            try {
+                InputStream is = file.getInputStream();
+                String fileName = property + File.separator + UUID.randomUUID().toString().replace("-", "") + fileExtension;
+                File file1 = new File(fileName);
+                file.transferTo(file1);
+                boolean delete = file1.delete();
+                log.info("临时文件删除【{}】", delete);
+                sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
+                urlList.add(url + "/idcard/" + name);
+            } catch (Exception e) {
+                log.error("上传文件失败【{}】", e.getMessage());
+                return R.fail();
+            }
+        }
+        sftp.logout();
+        return R.ok(urlList);
+    }
 }

--
Gitblit v1.7.1