mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-11-14 05:03:47 +08:00
update 重构 使用 Spring 简化 oss 模块代码
This commit is contained in:
@@ -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();
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user