From 089e288a6e55d2ae527ad733bbb8b8b5eaad6107 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期日, 18 七月 2021 18:20:21 +0800 Subject: [PATCH] update 使用 策略+工厂 重写OSS模块 --- ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java | 47 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 33 insertions(+), 14 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 index cbdbd93..a154670 100644 --- 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 @@ -1,36 +1,55 @@ 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.config.CloudStorageConfig; import com.ruoyi.oss.service.ICloudStorageService; -import com.ruoyi.oss.utils.DateUtils; +import org.springframework.beans.factory.InitializingBean; -import java.util.UUID; +import java.io.InputStream; +import java.util.Date; /** * 浜戝瓨鍌�(鏀寔涓冪墰銆侀樋閲屼簯銆佽吘璁簯銆乵inio) + * + * @author Lion Li */ -public abstract class AbstractCloudStorageService implements ICloudStorageService { +public abstract class AbstractCloudStorageService implements ICloudStorageService, InitializingBean { - /** - * 浜戝瓨鍌ㄩ厤缃俊鎭� - */ - protected CloudStorageConfig config; - - public int getServiceType() { - return config.getType(); - } + @Override + public abstract String getServiceType(); @Override public String getPath(String prefix, String suffix) { // 鐢熸垚uuid - String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String uuid = IdUtil.fastSimpleUUID(); // 鏂囦欢璺緞 - String path = DateUtils.dateTime() + "/" + uuid; + String path = DateUtil.format(new Date(), "yyyyMMdd") + "/" + uuid; if (StrUtil.isNotBlank(prefix)) { path = prefix + "/" + path; } return path + suffix; } + @Override + public abstract String upload(byte[] data, String path); + + @Override + public abstract void delete(String path); + + @Override + public String upload(InputStream inputStream, String path) { + byte[] data = IoUtil.readBytes(inputStream); + return this.upload(data, path); + } + + @Override + public abstract String uploadSuffix(byte[] data, String suffix); + + @Override + public abstract String uploadSuffix(InputStream inputStream, String suffix); + + @Override + public abstract void afterPropertiesSet() throws Exception; } -- Gitblit v1.9.3