From 493aa6cef3d036702558bde1a6994dff705e12c1 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期三, 12 十月 2022 10:41:42 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test
---
flower_city/src/main/java/com/dg/core/controller/CommonController.java | 91 ++++++++++++++++++++++++++++++++++++++-------
1 files changed, 76 insertions(+), 15 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/controller/CommonController.java b/flower_city/src/main/java/com/dg/core/controller/CommonController.java
index 274a7ac..041670a 100644
--- a/flower_city/src/main/java/com/dg/core/controller/CommonController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/CommonController.java
@@ -3,11 +3,16 @@
import com.dg.core.CorsConfig;
import com.dg.core.ResultData;
import com.dg.core.db.gen.AjaxResult;
+import com.dg.core.file.FtpConstants;
+import com.dg.core.file.MimeTypeUtils;
+import com.dg.core.file.SFTPUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -16,6 +21,8 @@
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
+
+import static com.dg.core.file.FileTypeUploadUtils.assertAllowed;
@Api(tags = {"通用接口"})
@@ -27,6 +34,22 @@
@Autowired
private CorsConfig corsConfig;
+
+
+ // FTP 登录用户名
+ @Value("${ftp.username}")
+ private String userName;
+ // FTP 登录密码
+ @Value("${ftp.password}")
+ private String password;
+ // FTP 服务器地址IP地址
+ @Value("${ftp.host}")
+ private String host;
+ // FTP 端口
+ @Value("${ftp.port}")
+ private int port;
+ @Value("${ftp.url}")
+ private String url;
@RequestMapping("/hello")
@@ -45,35 +68,73 @@
{
List<String> urls = new ArrayList<String>();
List<String> fileNames = new ArrayList<String>();
- List<String> newFileNames = new ArrayList<String>();
List<String> originalFilenames = new ArrayList<String>();
for (MultipartFile file : files) {
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
try {
-// assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
-// SFTPUtil sftp = new SFTPUtil();
-// sftp.login();
-// InputStream is = file.getInputStream();
-// sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
-// sftp.logout();
-//
-// urls.add(url + "/idcard/" + name);
-// fileNames.add(name);
-// newFileNames.add(FileUtils.getName(name));
-// originalFilenames.add(file.getOriginalFilename());
+ assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+ SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+ sftp.login();
+ InputStream is = file.getInputStream();
+ sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
+ sftp.logout();
+
+ urls.add(url + "/idcard/" + name);
+ fileNames.add(name);
+ originalFilenames.add(file.getOriginalFilename());
} catch (Exception e) {
-// log.error("上传照片失败【{}】", e.getMessage());
- return ResultData.error("上传文件失败");
+ return ResultData.error("上传文件失败 "+e.getMessage());
}
}
AjaxResult ajax = new AjaxResult();
ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
- ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER));
ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
return ResultData.success(ajax);
}
+
+
+
+ /**
+ * 通用上传请求(多个)
+ */
+ @ApiOperation("文件上传接口(通用)")
+ @PostMapping("/upload")
+ public ResultData uploadFile(MultipartFile file) throws Exception
+ {
+ List<String> urls = new ArrayList<String>();
+ List<String> fileNames = new ArrayList<String>();
+ List<String> originalFilenames = new ArrayList<String>();
+
+ String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+ String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
+ try {
+ assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+ SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+ sftp.login();
+ InputStream is = file.getInputStream();
+ sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
+ sftp.logout();
+
+// urls.add(url + "/idcard/" + name);
+// fileNames.add(name);
+// originalFilenames.add(file.getOriginalFilename());
+ return ResultData.success(url + "/idcard/" + name);
+ } catch (Exception e) {
+ return ResultData.error("上传文件失败 "+e.getMessage());
+ }
+
+
+// AjaxResult ajax = new AjaxResult();
+// ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
+// ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
+// ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
+
+
+ }
+
+
}
--
Gitblit v1.7.1