From 0f4a64e30462631d21f1d376155622fc9908b56f Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Mon, 31 Mar 2025 16:57:12 +0800 Subject: [PATCH] 11 --- .../org/dromara/common/oss/core/OssClient.java | 15 ++++++++++++++- .../service/impl/FlightAreaFileServiceImpl.java | 2 +- .../service/impl/WaylineFileServiceImpl.java | 3 ++- pom.xml | 8 ++++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/dk-common/common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/dk-common/common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java index a155797..4d76be2 100644 --- a/dk-common/common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java +++ b/dk-common/common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java @@ -375,6 +375,10 @@ public class OssClient { return upload(new ByteArrayInputStream(data), getPath(properties.getPrefix(), suffix), Long.valueOf(data.length), contentType); } + public UploadResult uploadSuffix(byte[] data, String suffix,String fileName, String contentType) { + return upload(new ByteArrayInputStream(data), getPath(properties.getPrefix(), suffix,fileName), Long.valueOf(data.length), contentType); + } + /** * 上传 InputStream 到 Amazon S3,使用指定的后缀构造对象键。 * @@ -388,6 +392,8 @@ public class OssClient { return upload(inputStream, getPath(properties.getPrefix(), suffix), length, contentType); } + + public UploadResult uploadSuffix(InputStream inputStream, String suffix, String fileName,Long length, String contentType) { return upload(inputStream, getPath(properties.getPrefix(), suffix,fileName), length, contentType); } @@ -506,10 +512,17 @@ public class OssClient { * @return 文件路径 */ public String getPath(String prefix, String suffix) { + // 生成uuid + String uuid = IdUtil.fastSimpleUUID(); // 生成日期路径 - return prefix + StringUtils.SLASH + DateUtils.datePath() + StringUtils.SLASH + suffix ; + String datePath = DateUtils.datePath(); + // 拼接路径 + String path = StringUtils.isNotEmpty(prefix) ? + prefix + StringUtils.SLASH + datePath + StringUtils.SLASH + uuid : datePath + StringUtils.SLASH + uuid; + return path + suffix; } + public String getPath(String prefix,String fileName, String suffix) { // 生成uuid String uuid = IdUtil.fastSimpleUUID(); diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaFileServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaFileServiceImpl.java index c3165d8..b60d861 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaFileServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/map/service/impl/FlightAreaFileServiceImpl.java @@ -123,7 +123,7 @@ public class FlightAreaFileServiceImpl implements IFlightAreaFileService { storage.uploadSuffix(is,name,length,"json"); return FlightAreaFileDTO.builder() .name(name) - .objectKey("flightareafile/"+name) + .objectKey(storage.getOssProperties().getBucketName()) .fileId(UUID.randomUUID().toString()) .size(os.size()) .workspaceId(workspaceId) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java index aaa2fb9..7579d6f 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java @@ -197,7 +197,8 @@ public class WaylineFileServiceImpl implements IWaylineFileService { waylineFile.setUsername(creator); OssClient storage = OssFactory.instance("waylinefile"); String originalfileName = file.getOriginalFilename(); - UploadResult uploadResult = storage.uploadSuffix(file.getBytes(), originalfileName, file.getContentType()); + String suffix = org.apache.commons.lang3.StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());; + UploadResult uploadResult = storage.uploadSuffix(file.getBytes(),suffix, originalfileName, file.getContentType()); waylineFile.setObjectKey(uploadResult.getFilename()); List deviceSns = new ArrayList<>(); deviceSns.add(deviceSn); diff --git a/pom.xml b/pom.xml index 3d649ec..178dcdb 100644 --- a/pom.xml +++ b/pom.xml @@ -99,15 +99,15 @@ - prod + dk_quanshan - prod - 127.0.0.1:8848 + dk_quanshan + 192.168.0.8:8848 DEFAULT_GROUP DEFAULT_GROUP nacos nacos - 127.0.0.1:4560 + 192.168.0.8:4560