From c44c76ea3e1f6b70bb84bdde85ffd1b389e5b8f4 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 23 四月 2025 10:58:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/src/main/java/com/doumee/api/common/PublicCloudController.java | 98 ++++++++++++++++++++++++------------------------- 1 files changed, 48 insertions(+), 50 deletions(-) diff --git a/server/src/main/java/com/doumee/api/common/PublicCloudController.java b/server/src/main/java/com/doumee/api/common/PublicCloudController.java index c6105c1..f288004 100644 --- a/server/src/main/java/com/doumee/api/common/PublicCloudController.java +++ b/server/src/main/java/com/doumee/api/common/PublicCloudController.java @@ -4,12 +4,15 @@ import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.config.annotation.EncryptionReq; +import com.doumee.config.annotation.EncryptionResp; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.constants.Constants; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.FtpUtil; +import com.doumee.core.utils.azure.AzureBlobUtil; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.common.EmailService; import io.swagger.annotations.Api; @@ -17,6 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -44,9 +48,12 @@ private SystemDictDataBiz systemDictDataBiz; @Autowired private EmailService emailService; + @Value("${upload.type") + private String uploadType; public static FtpUtil ftp = null; + public static AzureBlobUtil azureBlobUtil = null; @ApiOperation(value = "娴嬭瘯閭欢鍙戦��") @RequestMapping(method= RequestMethod.POST,value="/testEmail") @@ -83,15 +90,7 @@ response.setContentType("text/html;charset=UTF-8"); Map<String, Object> context = new HashMap<>(); try { - if(ftp == null){ - ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), - Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), - systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), - systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); - }else{ - ftp.connect(); - } - + initUploadTool(); context.put("success", true); context.put("code", 200); context.put("errno",0); @@ -107,7 +106,12 @@ String date = DateUtil.getNowShortDate(); String fName = date + "/" + UUID.randomUUID() + endType; String fileName = folder + fName; - boolean r = ftp.uploadInputstreamBatch(is, fileName, Constants.equalsInteger(index ,fileList.length),index); + boolean r =false; + if(StringUtils.equals(Constants.uploadType.blob,uploadType)){ + r = azureBlobUtil.uploadFileWithResponse( fileName,is);//涓婁紶 + }else{ + r = ftp.uploadInputstreamBatch(is, fileName, Constants.equalsInteger(index ,fileList.length),index); + } if (r) { JSONObject fileJSON = new JSONObject(); fileJSON.put("url", prefixPath + fileName); @@ -149,15 +153,7 @@ response.setContentType("text/html;charset=UTF-8"); Map<String, Object> context = new HashMap<>(); try { - if(ftp == null){ - ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), - Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), - systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), - systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); - }else{ - ftp.connect(); - } - + initUploadTool(); context.put("success", true); context.put("code", 200); context.put("errno",0); @@ -167,7 +163,6 @@ List<MultipartFile> fileList = multipartRequest.getFiles("file"); Iterator<String> it = multipartRequest.getFileNames(); JSONArray jsonArray = new JSONArray(); - if (fileList.size() > 0) { //閬嶅巻鏂囦欢鍒楄〃 Iterator<MultipartFile> fileIte = fileList.iterator(); @@ -181,7 +176,12 @@ String date = DateUtil.getNowShortDate(); String fName = date + "/" + UUID.randomUUID() + endType; String fileName = folder + fName; - boolean r = ftp.uploadInputstreamBatch(is, fileName, Constants.equalsInteger(index ,fileList.size()),index); + boolean r =false; + if(StringUtils.equals(Constants.uploadType.blob,uploadType)){ + r = azureBlobUtil.uploadFileWithResponse( fileName,is);//涓婁紶 + }else{ + r = ftp.uploadInputstreamBatch(is, fileName, Constants.equalsInteger(index ,fileList.size()),index); + } if (r) { JSONObject fileJSON = new JSONObject(); fileJSON.put("url", prefixPath + fileName); @@ -192,27 +192,7 @@ } index = index + 1; } - } - -// while (it.hasNext()) { -// MultipartFile file = multipartRequest.getFile(it.next()); -// String originname = file.getOriginalFilename(); -// is = file.getInputStream(); -// String endType = originname.substring(originname.lastIndexOf("."),originname.length()); -// String date = DateUtil.getNowShortDate(); -// String fName = date+"/"+ UUID.randomUUID()+endType; -// String fileName = folder+"/"+fName; -// boolean r = ftp.uploadInputstream(is,fileName); -// if(r){ -// JSONObject fileJSON = new JSONObject(); -// fileJSON.put("url", prefixPath+fileName); -// fileJSON.put("imgaddr", fName); -// fileJSON.put("imgname", fileName); -// fileJSON.put("originname", originname); -// jsonArray.add(fileJSON); -// } -// } context.put("data",jsonArray); } } catch (Exception e) { @@ -226,6 +206,26 @@ } writerJson(response, context); return; + } + + private void initUploadTool() throws Exception{ + if(StringUtils.equals(Constants.uploadType.blob,uploadType)){ + if(azureBlobUtil == null){ + azureBlobUtil = new AzureBlobUtil(systemDictDataBiz.queryByCode(Constants.AZURE_BLOB,Constants.AZURE_BLOB_ACCESSNAME).getCode(), + systemDictDataBiz.queryByCode(Constants.AZURE_BLOB,Constants.AZURE_BLOB_ACCESSKEY).getCode(), + systemDictDataBiz.queryByCode(Constants.AZURE_BLOB,Constants.AZURE_BLOB_ENDPOINT).getCode(), + systemDictDataBiz.queryByCode(Constants.AZURE_BLOB,Constants.AZURE_BLOB_CONTAINER).getCode()); + } + }else{ + if(ftp == null){ + ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), + Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), + systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), + systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); + }else{ + ftp.connect(); + } + } } @ApiOperation(value = "涓婁紶鏂囦欢鍒癋TP") @@ -246,14 +246,7 @@ response.setContentType("text/html;charset=UTF-8"); Map<String, Object> context = new HashMap<>(); try { - if(ftp == null){ - ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), - Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), - systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), - systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); - }else{ - ftp.connect(); - } + initUploadTool(); CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); if (multipartResovler.isMultipart(request)) { @@ -271,7 +264,12 @@ String date = DateUtil.getNowShortDate(); String fName = date+"/"+ UUID.randomUUID()+endType; String fileName = folder+"/"+fName; - boolean r = ftp.uploadInputstream(is,fileName); + boolean r =false; + if(StringUtils.equals(Constants.uploadType.blob,uploadType)){ + r = azureBlobUtil.uploadFileWithResponse( fileName,is);//涓婁紶 + }else{ + r = ftp.uploadInputstream(is,fileName); + } if(r){ context.put("success", true); context.put("code", 200); -- Gitblit v1.9.3