From 8224e5ded6531ffca51808954547a4e6a41dbef6 Mon Sep 17 00:00:00 2001 From: wangqing Date: Fri, 26 Mar 2021 15:39:48 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20=E5=A2=9E=E5=8A=A0=E5=8F=88?= =?UTF-8?q?=E6=8B=8D=E4=BA=91=E6=96=87=E4=BB=B6=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++ tduck-storage/pom.xml | 4 ++ .../storage/cloud/OssStorageFactory.java | 2 + .../storage/cloud/UpyunStorageService.java | 61 +++++++++++++++++++ .../storage/entity/enums/OssTypeEnum.java | 8 ++- 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java diff --git a/pom.xml b/pom.xml index 79330ba..bcd283e 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ 5.1.2 3.8.0 [7.2.0, 7.2.99] + 4.2.2 1.7 3.9.0 3.0.1 @@ -161,6 +162,12 @@ poi-ooxml ${poi.version} + + + com.upyun + java-sdk + ${upyun.version} + diff --git a/tduck-storage/pom.xml b/tduck-storage/pom.xml index 99a89c3..5394910 100644 --- a/tduck-storage/pom.xml +++ b/tduck-storage/pom.xml @@ -34,5 +34,9 @@ com.aliyun.oss aliyun-sdk-oss + + com.upyun + java-sdk + \ No newline at end of file diff --git a/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java b/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java index a0534f7..0efe287 100644 --- a/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java +++ b/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java @@ -23,6 +23,8 @@ public final class OssStorageFactory { return new QiniuCloudStorageService(config); } else if (config.getOssType() == OssTypeEnum.ALIYUN) { return new AliyunOssStorageService(config); + } else if (config.getOssType() == OssTypeEnum.UPYUN) { + return new UpyunStorageService(config); } return null; } diff --git a/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java b/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java new file mode 100644 index 0000000..96b7c02 --- /dev/null +++ b/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java @@ -0,0 +1,61 @@ +package com.tduck.cloud.storage.cloud; + +import cn.hutool.core.util.StrUtil; +import com.qiniu.storage.Configuration; +import com.qiniu.storage.Region; +import com.qiniu.storage.UploadManager; +import com.qiniu.util.Auth; +import com.upyun.RestManager; +import com.upyun.UpException; + +import java.io.IOException; +import java.io.InputStream; + +/** + * @author : smalljop + * @description : 又拍云存储 + * @create : 2021/03/25 11:02 + **/ +public class UpyunStorageService extends OssStorageService { + + RestManager manager; + + + UpyunStorageService(OssStorageConfig config) { + this.config = config; + this.manager = new RestManager(config.getBucketName(), config.getAccessKeyId(), config.getAccessKeySecret()); + this.manager.setApiDomain(RestManager.ED_AUTO); + } + + + @Override + public String upload(InputStream inputStream, String path) { + try { + manager.writeFile(path, inputStream, null).body(); + return config.getDomain() + "/" + path; + } catch (IOException e) { + e.printStackTrace(); + } catch (UpException e) { + e.printStackTrace(); + } + return StrUtil.EMPTY; + } + + @Override + public String upload(byte[] data, String path) { + try { + manager.writeFile(path, data, null).body(); + return config.getDomain() + path; + } catch (IOException e) { + e.printStackTrace(); + } catch (UpException e) { + e.printStackTrace(); + } + return StrUtil.EMPTY; + } + + @Override + public void delete(String path) { + + } +} diff --git a/tduck-storage/src/main/java/com/tduck/cloud/storage/entity/enums/OssTypeEnum.java b/tduck-storage/src/main/java/com/tduck/cloud/storage/entity/enums/OssTypeEnum.java index e925646..8c82241 100644 --- a/tduck-storage/src/main/java/com/tduck/cloud/storage/entity/enums/OssTypeEnum.java +++ b/tduck-storage/src/main/java/com/tduck/cloud/storage/entity/enums/OssTypeEnum.java @@ -18,9 +18,13 @@ public enum OssTypeEnum { ALIYUN(0), /** - * 菜单 + * 七牛云 */ - QINIU(1); + QINIU(1), + /** + * 又拍云 + */ + UPYUN(2); @JsonCreator