From eb2be90e74adfa06ee251f80c08243d0301ce467 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 28 七月 2021 10:49:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' --- ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java | 62 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java new file mode 100644 index 0000000..c757ab4 --- /dev/null +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java @@ -0,0 +1,62 @@ +package com.ruoyi.oss.service.abstractd; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.ruoyi.oss.entity.UploadResult; +import com.ruoyi.oss.service.ICloudStorageService; +import org.springframework.beans.factory.InitializingBean; + +import java.io.InputStream; +import java.util.Date; + +/** + * 浜戝瓨鍌�(鏀寔涓冪墰銆侀樋閲屼簯銆佽吘璁簯銆乵inio) + * + * @author Lion Li + */ +public abstract class AbstractCloudStorageService implements ICloudStorageService, InitializingBean { + + @Override + public abstract void createBucket(); + + @Override + public abstract String getServiceType(); + + @Override + public String getPath(String prefix, String suffix) { + // 鐢熸垚uuid + String uuid = IdUtil.fastSimpleUUID(); + // 鏂囦欢璺緞 + String path = DateUtil.format(new Date(), "yyyyMMdd") + "/" + uuid; + if (StrUtil.isNotBlank(prefix)) { + path = prefix + "/" + path; + } + return path + suffix; + } + + @Override + public abstract UploadResult upload(byte[] data, String path, String contentType); + + @Override + public abstract void delete(String path); + + @Override + public UploadResult upload(InputStream inputStream, String path, String contentType) { + byte[] data = IoUtil.readBytes(inputStream); + return this.upload(data, path, contentType); + } + + @Override + public abstract UploadResult uploadSuffix(byte[] data, String suffix, String contentType); + + @Override + public abstract UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType); + + @Override + public abstract void afterPropertiesSet() throws Exception; + + @Override + public abstract String getEndpointLink(); +} -- Gitblit v1.9.3