update 重构 使用 Spring 简化 oss 模块代码

This commit is contained in:
疯狂的狮子li
2022-01-24 13:00:38 +08:00
parent d52ece745e
commit ad18449753
9 changed files with 69 additions and 63 deletions

View File

@@ -1,6 +1,7 @@
package com.ruoyi.oss.service;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.OssEnumd;
import java.io.InputStream;
@@ -15,8 +16,9 @@ public interface IOssStrategy {
/**
* 获取服务商类型
* @return
*/
String getServiceType();
OssEnumd getServiceType();
/**
* 文件上传

View File

@@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.IOssStrategy;
@@ -18,14 +19,17 @@ import java.io.InputStream;
public abstract class AbstractOssStrategy implements IOssStrategy {
protected OssProperties properties;
public boolean isInit = false;
public abstract void init(OssProperties properties);
public void init(OssProperties properties) {
this.properties = properties;
}
@Override
public abstract void createBucket();
@Override
public abstract String getServiceType();
public abstract OssEnumd getServiceType();
public String getPath(String prefix, String suffix) {
// 生成uuid

View File

@@ -13,6 +13,7 @@ import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import org.springframework.stereotype.Component;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -22,13 +23,14 @@ import java.io.InputStream;
*
* @author Lion Li
*/
@Component
public class AliyunOssStrategy extends AbstractOssStrategy {
private OSSClient client;
@Override
public void init(OssProperties cloudStorageProperties) {
properties = cloudStorageProperties;
public void init(OssProperties ossProperties) {
super.init(ossProperties);
try {
ClientConfiguration configuration = new ClientConfiguration();
DefaultCredentialProvider credentialProvider = new DefaultCredentialProvider(
@@ -38,6 +40,7 @@ public class AliyunOssStrategy extends AbstractOssStrategy {
} catch (Exception e) {
throw new OssException("阿里云存储配置错误! 请检查系统配置:[" + e.getMessage() + "]");
}
isInit = true;
}
@Override
@@ -56,8 +59,8 @@ public class AliyunOssStrategy extends AbstractOssStrategy {
}
@Override
public String getServiceType() {
return OssEnumd.ALIYUN.getValue();
public OssEnumd getServiceType() {
return OssEnumd.ALIYUN;
}
@Override

View File

@@ -9,6 +9,7 @@ import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import io.minio.*;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -18,13 +19,14 @@ import java.io.InputStream;
*
* @author Lion Li
*/
@Component
public class MinioOssStrategy extends AbstractOssStrategy {
private MinioClient minioClient;
@Override
public void init(OssProperties cloudStorageProperties) {
properties = cloudStorageProperties;
public void init(OssProperties ossProperties) {
super.init(ossProperties);
try {
minioClient = MinioClient.builder()
.endpoint(properties.getEndpoint())
@@ -34,6 +36,7 @@ public class MinioOssStrategy extends AbstractOssStrategy {
} catch (Exception e) {
throw new OssException("Minio存储配置错误! 请检查系统配置:[" + e.getMessage() + "]");
}
isInit = true;
}
@Override
@@ -56,8 +59,8 @@ public class MinioOssStrategy extends AbstractOssStrategy {
}
@Override
public String getServiceType() {
return OssEnumd.MINIO.getValue();
public OssEnumd getServiceType() {
return OssEnumd.MINIO;
}
@Override

View File

@@ -11,8 +11,11 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -22,13 +25,14 @@ import java.io.InputStream;
*
* @author Lion Li
*/
@Component
public class QcloudOssStrategy extends AbstractOssStrategy {
private COSClient client;
@Override
public void init(OssProperties cloudStorageProperties) {
properties = cloudStorageProperties;
public void init(OssProperties ossProperties) {
super.init(ossProperties);
try {
COSCredentials credentials = new BasicCOSCredentials(
properties.getAccessKey(), properties.getSecretKey());
@@ -46,6 +50,7 @@ public class QcloudOssStrategy extends AbstractOssStrategy {
} catch (Exception e) {
throw new OssException("腾讯云存储配置错误! 请检查系统配置:[" + e.getMessage() + "]");
}
isInit = true;
}
@Override
@@ -64,8 +69,8 @@ public class QcloudOssStrategy extends AbstractOssStrategy {
}
@Override
public String getServiceType() {
return OssEnumd.QCLOUD.getValue();
public OssEnumd getServiceType() {
return OssEnumd.QCLOUD;
}
@Override

View File

@@ -10,8 +10,11 @@ import com.qiniu.util.Auth;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import java.io.InputStream;
@@ -20,15 +23,17 @@ import java.io.InputStream;
*
* @author Lion Li
*/
@Component
public class QiniuOssStrategy extends AbstractOssStrategy {
private UploadManager uploadManager;
private BucketManager bucketManager;
private Auth auth;
@Override
public void init(OssProperties cloudStorageProperties) {
properties = cloudStorageProperties;
public void init(OssProperties ossProperties) {
super.init(ossProperties);
try {
Configuration config = new Configuration(getRegion(properties.getRegion()));
// https设置
@@ -36,15 +41,12 @@ public class QiniuOssStrategy extends AbstractOssStrategy {
config.useHttpsDomains = "Y".equals(properties.getIsHttps());
uploadManager = new UploadManager(config);
auth = Auth.create(properties.getAccessKey(), properties.getSecretKey());
String bucketName = properties.getBucketName();
bucketManager = new BucketManager(auth, config);
if (!ArrayUtil.contains(bucketManager.buckets(), bucketName)) {
bucketManager.createBucket(bucketName, properties.getRegion());
}
createBucket();
} catch (Exception e) {
throw new OssException("七牛云存储配置错误! 请检查系统配置:[" + e.getMessage() + "]");
}
isInit = true;
}
@Override
@@ -61,8 +63,8 @@ public class QiniuOssStrategy extends AbstractOssStrategy {
}
@Override
public String getServiceType() {
return OssEnumd.QINIU.getValue();
public OssEnumd getServiceType() {
return OssEnumd.QINIU;
}
@Override