From 37809483328313043ecc923e57f713536dbb1488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Wed, 24 Aug 2022 11:07:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E5=A4=96=E6=8F=90=E4=BE=9B=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/maku/api/module/system/StorageApi.java | 52 ++++++++++++++++++++++ .../java/net/maku/system/api/StorageApiImpl.java | 44 ++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 fast-boot-api/src/main/java/net/maku/api/module/system/StorageApi.java create mode 100644 fast-boot-system/src/main/java/net/maku/system/api/StorageApiImpl.java diff --git a/fast-boot-api/src/main/java/net/maku/api/module/system/StorageApi.java b/fast-boot-api/src/main/java/net/maku/api/module/system/StorageApi.java new file mode 100644 index 0000000..ed7157f --- /dev/null +++ b/fast-boot-api/src/main/java/net/maku/api/module/system/StorageApi.java @@ -0,0 +1,52 @@ +package net.maku.api.module.system; + +import java.io.InputStream; + +/** + * 存储服务API + * + * @author 阿沐 babamu@126.com + */ +public interface StorageApi { + + /** + * 根据文件名,生成带时间戳的新文件名 + * + * @param fileName 文件名 + * @return 返回带时间戳的文件名 + */ + String getNewFileName(String fileName); + + /** + * 生成路径,不包含文件名 + * + * @return 返回生成的路径 + */ + String getPath(); + + /** + * 根据文件名,生成路径 + * + * @param fileName 文件名 + * @return 生成文件路径 + */ + String getPath(String fileName); + + /** + * 文件上传 + * + * @param data 文件字节数组 + * @param path 文件路径,包含文件名 + * @return 返回http地址 + */ + String upload(byte[] data, String path); + + /** + * 文件上传 + * + * @param inputStream 字节流 + * @param path 文件路径,包含文件名 + * @return 返回http地址 + */ + String upload(InputStream inputStream, String path); +} diff --git a/fast-boot-system/src/main/java/net/maku/system/api/StorageApiImpl.java b/fast-boot-system/src/main/java/net/maku/system/api/StorageApiImpl.java new file mode 100644 index 0000000..d04de72 --- /dev/null +++ b/fast-boot-system/src/main/java/net/maku/system/api/StorageApiImpl.java @@ -0,0 +1,44 @@ +package net.maku.system.api; + +import lombok.AllArgsConstructor; +import net.maku.api.module.system.StorageApi; +import net.maku.storage.service.StorageService; +import org.springframework.stereotype.Component; + +import java.io.InputStream; + +/** + * 存储服务Api + * + * @author 阿沐 babamu@126.com + */ +@Component +@AllArgsConstructor +public class StorageApiImpl implements StorageApi { + private final StorageService storageService; + + @Override + public String getNewFileName(String fileName) { + return storageService.getNewFileName(fileName); + } + + @Override + public String getPath() { + return storageService.getPath(); + } + + @Override + public String getPath(String fileName) { + return storageService.getPath(fileName); + } + + @Override + public String upload(byte[] data, String path) { + return storageService.upload(data, path); + } + + @Override + public String upload(InputStream inputStream, String path) { + return storageService.upload(inputStream, path); + } +}