From 303789289e786666efa794b1607bbef29332186c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Wed, 24 Aug 2022 11:03:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=8E=E4=B8=BA=E4=BA=91?= =?UTF-8?q?=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../properties/HuaweiStorageProperties.java | 16 +++++++++ .../maku/storage/service/HuaweiStorageService.java | 40 ++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 fast-boot-system/src/main/java/net/maku/storage/properties/HuaweiStorageProperties.java create mode 100644 fast-boot-system/src/main/java/net/maku/storage/service/HuaweiStorageService.java diff --git a/fast-boot-system/src/main/java/net/maku/storage/properties/HuaweiStorageProperties.java b/fast-boot-system/src/main/java/net/maku/storage/properties/HuaweiStorageProperties.java new file mode 100644 index 0000000..26d9ee4 --- /dev/null +++ b/fast-boot-system/src/main/java/net/maku/storage/properties/HuaweiStorageProperties.java @@ -0,0 +1,16 @@ +package net.maku.storage.properties; + +import lombok.Data; + +/** + * 华为云存储配置项 + * + * @author 阿沐 babamu@126.com + */ +@Data +public class HuaweiStorageProperties { + private String endPoint; + private String accessKey; + private String secretKey; + private String bucketName; +} diff --git a/fast-boot-system/src/main/java/net/maku/storage/service/HuaweiStorageService.java b/fast-boot-system/src/main/java/net/maku/storage/service/HuaweiStorageService.java new file mode 100644 index 0000000..b1e9b11 --- /dev/null +++ b/fast-boot-system/src/main/java/net/maku/storage/service/HuaweiStorageService.java @@ -0,0 +1,40 @@ +package net.maku.storage.service; + +import com.obs.services.ObsClient; +import net.maku.framework.common.exception.FastException; +import net.maku.storage.properties.StorageProperties; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; + +/** + * 华为云存储 + * + * @author 阿沐 babamu@126.com + */ +public class HuaweiStorageService extends StorageService { + + public HuaweiStorageService(StorageProperties properties) { + this.properties = properties; + } + + @Override + public String upload(byte[] data, String path) { + return upload(new ByteArrayInputStream(data), path); + } + + @Override + public String upload(InputStream inputStream, String path) { + ObsClient client = new ObsClient(properties.getHuawei().getAccessKey(), + properties.getHuawei().getSecretKey(), properties.getHuawei().getEndPoint()); + try { + client.putObject(properties.getHuawei().getBucketName(), path, inputStream); + client.close(); + } catch (Exception e) { + throw new FastException("上传文件失败:", e); + } + + return properties.getConfig().getDomain() + "/" + path; + } + +}