mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-24 07:19:46 +08:00
update 优化 OSS 模块与上传组件 异常处理
This commit is contained in:
@ -11,6 +11,7 @@ import com.ruoyi.oss.enumd.CloudServiceEnumd;
|
||||
import com.ruoyi.oss.exception.OssException;
|
||||
import com.ruoyi.oss.properties.CloudStorageProperties;
|
||||
import com.ruoyi.oss.service.ICloudStorageStrategy;
|
||||
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
@ -68,7 +69,8 @@ public class OssFactory {
|
||||
return service;
|
||||
}
|
||||
// 获取redis配置信息 创建对象 并缓存
|
||||
service = (ICloudStorageStrategy) ReflectUtils.newInstance(CloudServiceEnumd.getServiceClass(type), properties);
|
||||
service = (ICloudStorageStrategy) ReflectUtils.newInstance(CloudServiceEnumd.getServiceClass(type));
|
||||
((AbstractCloudStorageStrategy)service).init(properties);
|
||||
SERVICES.put(type, service);
|
||||
SERVICES_UPDATE_TIME.put(type, nowDate);
|
||||
return service;
|
||||
|
@ -20,6 +20,8 @@ public abstract class AbstractCloudStorageStrategy implements ICloudStorageStrat
|
||||
|
||||
protected CloudStorageProperties properties;
|
||||
|
||||
public abstract void init(CloudStorageProperties properties);
|
||||
|
||||
@Override
|
||||
public abstract void createBucket();
|
||||
|
||||
|
@ -24,9 +24,10 @@ import java.io.InputStream;
|
||||
*/
|
||||
public class AliyunCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
|
||||
private final OSSClient client;
|
||||
private OSSClient client;
|
||||
|
||||
public AliyunCloudStorageStrategy(CloudStorageProperties cloudStorageProperties) {
|
||||
@Override
|
||||
public void init(CloudStorageProperties cloudStorageProperties) {
|
||||
properties = cloudStorageProperties;
|
||||
try {
|
||||
ClientConfiguration configuration = new ClientConfiguration();
|
||||
@ -35,7 +36,7 @@ public class AliyunCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
client = new OSSClient(properties.getEndpoint(), credentialProvider, configuration);
|
||||
createBucket();
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("阿里云存储配置错误! 请检查系统配置!");
|
||||
throw new OssException("阿里云存储配置错误! 请检查系统配置!");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,9 +20,10 @@ import java.io.InputStream;
|
||||
*/
|
||||
public class MinioCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
|
||||
private final MinioClient minioClient;
|
||||
private MinioClient minioClient;
|
||||
|
||||
public MinioCloudStorageStrategy(CloudStorageProperties cloudStorageProperties) {
|
||||
@Override
|
||||
public void init(CloudStorageProperties cloudStorageProperties) {
|
||||
properties = cloudStorageProperties;
|
||||
try {
|
||||
minioClient = MinioClient.builder()
|
||||
@ -31,7 +32,7 @@ public class MinioCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
.build();
|
||||
createBucket();
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("Minio存储配置错误! 请检查系统配置!");
|
||||
throw new OssException("Minio存储配置错误! 请检查系统配置!");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,10 @@ import java.io.InputStream;
|
||||
*/
|
||||
public class QcloudCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
|
||||
private final COSClient client;
|
||||
private COSClient client;
|
||||
|
||||
public QcloudCloudStorageStrategy(CloudStorageProperties cloudStorageProperties) {
|
||||
@Override
|
||||
public void init(CloudStorageProperties cloudStorageProperties) {
|
||||
properties = cloudStorageProperties;
|
||||
try {
|
||||
COSCredentials credentials = new BasicCOSCredentials(
|
||||
@ -43,7 +44,7 @@ public class QcloudCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
client = new COSClient(credentials, clientConfig);
|
||||
createBucket();
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("腾讯云存储配置错误! 请检查系统配置!");
|
||||
throw new OssException("腾讯云存储配置错误! 请检查系统配置!");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,11 +22,12 @@ import java.io.InputStream;
|
||||
*/
|
||||
public class QiniuCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
|
||||
private final UploadManager uploadManager;
|
||||
private final BucketManager bucketManager;
|
||||
private final String token;
|
||||
private UploadManager uploadManager;
|
||||
private BucketManager bucketManager;
|
||||
private String token;
|
||||
|
||||
public QiniuCloudStorageStrategy(CloudStorageProperties cloudStorageProperties) {
|
||||
@Override
|
||||
public void init(CloudStorageProperties cloudStorageProperties) {
|
||||
properties = cloudStorageProperties;
|
||||
try {
|
||||
Configuration config = new Configuration(getRegion(properties.getRegion()));
|
||||
@ -43,7 +44,7 @@ public class QiniuCloudStorageStrategy extends AbstractCloudStorageStrategy {
|
||||
bucketManager.createBucket(bucketName, properties.getRegion());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("七牛云存储配置错误! 请检查系统配置!");
|
||||
throw new OssException("七牛云存储配置错误! 请检查系统配置!");
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user