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; + } }