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