From c91d33e4ab58bdee9d4328adc2248495cc656c25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?=
<15040126243@163.com>
Date: Wed, 18 Aug 2021 19:14:26 +0800
Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20OSS=20=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E4=B8=8E=E4=B8=8A=E4=BC=A0=E7=BB=84=E4=BB=B6=20?=
=?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/ruoyi/oss/factory/OssFactory.java | 4 ++-
.../AbstractCloudStorageStrategy.java | 2 ++
.../impl/AliyunCloudStorageStrategy.java | 7 ++--
.../impl/MinioCloudStorageStrategy.java | 7 ++--
.../impl/QcloudCloudStorageStrategy.java | 7 ++--
.../impl/QiniuCloudStorageStrategy.java | 11 ++++---
ruoyi-ui/src/components/Editor/index.vue | 2 +-
ruoyi-ui/src/components/FileUpload/index.vue | 17 ++++++----
ruoyi-ui/src/components/ImageUpload/index.vue | 32 +++++++++++--------
ruoyi-ui/src/views/system/oss/config.vue | 2 +-
10 files changed, 55 insertions(+), 36 deletions(-)
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
index 12906856..accbbcd4 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
@@ -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;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageStrategy.java
index ec4dc374..fec876d4 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageStrategy.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageStrategy.java
@@ -20,6 +20,8 @@ public abstract class AbstractCloudStorageStrategy implements ICloudStorageStrat
protected CloudStorageProperties properties;
+ public abstract void init(CloudStorageProperties properties);
+
@Override
public abstract void createBucket();
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageStrategy.java
index 11c3476d..c019d013 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageStrategy.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageStrategy.java
@@ -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("阿里云存储配置错误! 请检查系统配置!");
}
}
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageStrategy.java
index 1a0e91ad..f87dd0b1 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageStrategy.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageStrategy.java
@@ -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存储配置错误! 请检查系统配置!");
}
}
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageStrategy.java
index c30dcbda..7b7ae63b 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageStrategy.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageStrategy.java
@@ -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("腾讯云存储配置错误! 请检查系统配置!");
}
}
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageStrategy.java
index ef225133..c70e6eda 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageStrategy.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageStrategy.java
@@ -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("七牛云存储配置错误! 请检查系统配置!");
}
}
diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue
index e3951109..1f2e15ec 100644
--- a/ruoyi-ui/src/components/Editor/index.vue
+++ b/ruoyi-ui/src/components/Editor/index.vue
@@ -180,7 +180,7 @@ export default {
// 调整光标到最后
quill.setSelection(length + 1);
} else {
- this.$message.error("图片插入失败");
+ this.$message.error(res.msg);
}
},
handleUploadError() {
diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue
index 244ac289..d5c3bc70 100644
--- a/ruoyi-ui/src/components/FileUpload/index.vue
+++ b/ruoyi-ui/src/components/FileUpload/index.vue
@@ -146,9 +146,14 @@ export default {
},
// 上传成功回调
handleUploadSuccess(res, file) {
- this.$message.success("上传成功");
- this.fileList.push({ name: res.data.fileName, url: res.data.fileName });
- this.$emit("input", this.listToString(this.fileList));
+ if (res.code === 200) {
+ this.$message.success("上传成功");
+ this.fileList.push({ name: res.data.fileName, url: res.data.fileName });
+ this.$emit("input", this.listToString(this.fileList));
+ } else {
+ this.$message.error(res.msg);
+ this.loading.close();
+ }
},
// 删除文件
handleDelete(index) {
@@ -170,9 +175,9 @@ export default {
for (let i in list) {
strs += list[i].url + separator;
}
- return strs != '' ? strs.substr(0, strs.length - 1) : '';
- }
- }
+ return strs != "" ? strs.substr(0, strs.length - 1) : "";
+ },
+ },
};
diff --git a/ruoyi-ui/src/components/ImageUpload/index.vue b/ruoyi-ui/src/components/ImageUpload/index.vue
index e074b381..ba088b93 100644
--- a/ruoyi-ui/src/components/ImageUpload/index.vue
+++ b/ruoyi-ui/src/components/ImageUpload/index.vue
@@ -118,9 +118,14 @@ export default {
},
// 上传成功回调
handleUploadSuccess(res) {
- this.fileList.push({ name: res.data.fileName, url: res.data.url });
- this.$emit("input", this.listToString(this.fileList));
- this.loading.close();
+ if (res.code == 200) {
+ this.fileList.push({ name: res.data.fileName, url: res.data.url });
+ this.$emit("input", this.listToString(this.fileList));
+ this.loading.close();
+ } else {
+ this.$message.error(res.msg);
+ this.loading.close();
+ }
},
// 上传前loading加载
handleBeforeUpload(file) {
@@ -130,7 +135,7 @@ export default {
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
}
- isImg = this.fileType.some(type => {
+ isImg = this.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true;
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
return false;
@@ -163,7 +168,7 @@ export default {
this.$message.error(`上传文件数量不能超过 ${this.limit} 个!`);
},
// 上传失败
- handleUploadError() {
+ handleUploadError(res) {
this.$message({
type: "error",
message: "上传失败",
@@ -182,25 +187,26 @@ export default {
for (let i in list) {
strs += list[i].url + separator;
}
- return strs != '' ? strs.substr(0, strs.length - 1) : '';
- }
- }
+ return strs != "" ? strs.substr(0, strs.length - 1) : "";
+ },
+ },
};
diff --git a/ruoyi-ui/src/views/system/oss/config.vue b/ruoyi-ui/src/views/system/oss/config.vue
index c6ea3a62..28bdbe5b 100644
--- a/ruoyi-ui/src/views/system/oss/config.vue
+++ b/ruoyi-ui/src/views/system/oss/config.vue
@@ -138,7 +138,7 @@
-
+