From 888698de73af2c4dc0fed6b5e1cfd405f1253ee0 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Sun, 29 Dec 2024 18:06:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=94=E5=9B=9Epath?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E7=9B=B8=E5=AF=B9prefix=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ycwl/basic/storage/adapters/AStorageAdapter.java | 2 +- .../com/ycwl/basic/storage/adapters/AliOssAdapter.java | 6 +++++- .../java/com/ycwl/basic/storage/utils/StorageUtil.java | 10 ++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java index f97fa73..43c1693 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java @@ -39,7 +39,7 @@ public abstract class AStorageAdapter implements IStorageAdapter { @Override public String getUrlForDownload(String... path) { - return getUrlForUpload(new Date(System.currentTimeMillis() + 1000 * 60 * 60), path); + return getUrlForDownload(new Date(System.currentTimeMillis() + 1000 * 60 * 60), path); } @Override diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java index 784e05e..aa378c3 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java @@ -130,7 +130,7 @@ final public class AliOssAdapter extends AStorageAdapter { } return objectList.stream().map(item -> { StorageFileObject object = new StorageFileObject(); - object.setPath(item.getKey().substring(0, item.getKey().lastIndexOf("/"))); + object.setPath(getRelativePath(item.getKey().substring(0, item.getKey().lastIndexOf("/")))); object.setName(item.getKey().substring(item.getKey().lastIndexOf("/") + 1)); object.setSize(item.getSize()); object.setRawObject(item); @@ -179,4 +179,8 @@ final public class AliOssAdapter extends AStorageAdapter { return StorageUtil.joinPath(paths); } } + + private String getRelativePath(String path) { + return StorageUtil.getRelativePath(path, config.getPrefix()); + } } diff --git a/src/main/java/com/ycwl/basic/storage/utils/StorageUtil.java b/src/main/java/com/ycwl/basic/storage/utils/StorageUtil.java index bfc5a9f..b384def 100644 --- a/src/main/java/com/ycwl/basic/storage/utils/StorageUtil.java +++ b/src/main/java/com/ycwl/basic/storage/utils/StorageUtil.java @@ -38,4 +38,14 @@ public class StorageUtil { } return name; } + + public static String getRelativePath(String fullPath, String relativeOn) { + if (StringUtils.isBlank(relativeOn)) { + fullPath = fullPath.replace(relativeOn, ""); + } + if (fullPath.startsWith("/")) { + fullPath = fullPath.substring(1); + } + return fullPath; + } }