From dd9340090b9d960e486201e92d6a7a991d7cdec6 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 23 七月 2021 19:14:37 +0800 Subject: [PATCH] add OSS模块 增加预览图片开关 --- ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java | 52 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 39 insertions(+), 13 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..c757ab4 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,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.config.CloudStorageConfig; +import com.ruoyi.oss.entity.UploadResult; 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; + @Override + public abstract void createBucket(); - 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 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