From a46d4d8fac6f658f78b51aa1dd3d1271f6ec29d2 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Sun, 6 Apr 2025 17:46:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0exist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ycwl/basic/storage/adapters/AliOssAdapter.java | 8 ++++++++ .../com/ycwl/basic/storage/adapters/AwsOssAdapter.java | 10 ++++++++++ .../ycwl/basic/storage/adapters/IStorageAdapter.java | 2 ++ .../basic/storage/adapters/LocalStorageAdapter.java | 5 +++++ 4 files changed, 25 insertions(+) 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 e65c3cc..ffd1440 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java @@ -211,6 +211,14 @@ final public class AliOssAdapter extends AStorageAdapter { } } + @Override + public boolean isExists(String ...path) { + try (OSSWrapper wrapper = getOssClient()) { + OSS ossClient = wrapper.getOSSClient(); + return ossClient.doesObjectExist(config.getBucketName(), buildPath(path)); + } + } + private OSSWrapper getOssClient() { OSS ossClient = new OSSClientBuilder().build(config.getEndpoint(), config.getAccessKeyId(), config.getAccessKeySecret()); return new OSSWrapper(ossClient); diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java index 375e5e2..45bdba9 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AwsOssAdapter.java @@ -206,6 +206,16 @@ public class AwsOssAdapter extends AStorageAdapter { } } + @Override + public boolean isExists(String... path) { + try (S3Wrapper wrapper = getS3Client()) { + AmazonS3Client s3Client = wrapper.getS3Client(); + return s3Client.doesObjectExist(config.getBucketName(), buildPath(path)); + } catch (Exception e) { + return false; + } + } + private S3Wrapper getS3Client() { BasicAWSCredentials basicAwsCred = new BasicAWSCredentials(config.getAccessKeyId(), config.getAccessKeySecret()); ClientConfiguration clientConfiguration = new ClientConfiguration(); diff --git a/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java index c93ae75..af3b22e 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java @@ -26,4 +26,6 @@ public interface IStorageAdapter { List listDir(String ...path); boolean deleteDir(String ...path); boolean setAcl(StorageAcl acl, String ...path); + + boolean isExists(String ...path); } diff --git a/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java index f1fe09d..684c97d 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java @@ -60,4 +60,9 @@ public class LocalStorageAdapter extends AStorageAdapter{ public boolean setAcl(StorageAcl acl, String... path) { return false; } + + @Override + public boolean isExists(String... path) { + return false; + } }