|
@@ -1,5 +1,6 @@
|
|
|
package com.ruoyi.oss.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ArrayUtil;
|
|
|
import com.qiniu.http.Response;
|
|
|
import com.qiniu.storage.BucketManager;
|
|
|
import com.qiniu.storage.Configuration;
|
|
@@ -38,22 +39,27 @@ public class QiniuCloudStorageServiceImpl extends AbstractCloudStorageService im
|
|
|
public QiniuCloudStorageServiceImpl(CloudStorageProperties properties) {
|
|
|
this.properties = properties.getQiniu();
|
|
|
try {
|
|
|
- // z0 z1 z2
|
|
|
- Configuration config = new Configuration(Region.autoRegion());
|
|
|
- // 默认不使用https
|
|
|
+ Configuration config = new Configuration(getRegion(this.properties.getRegion()));
|
|
|
+ // https设置
|
|
|
config.useHttpsDomains = false;
|
|
|
+ if (this.properties.getIsHttps() != null) {
|
|
|
+ config.useHttpsDomains = this.properties.getIsHttps();
|
|
|
+ }
|
|
|
uploadManager = new UploadManager(config);
|
|
|
Auth auth = Auth.create(
|
|
|
this.properties.getAccessKey(),
|
|
|
this.properties.getSecretKey());
|
|
|
token = auth.uploadToken(this.properties.getBucketName());
|
|
|
bucketManager = new BucketManager(auth, config);
|
|
|
+
|
|
|
+ if (!ArrayUtil.contains(bucketManager.buckets(), this.properties.getBucketName())) {
|
|
|
+ bucketManager.createBucket(this.properties.getBucketName(), this.properties.getRegion());
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
throw new IllegalArgumentException("七牛云存储配置错误! 请检查系统配置!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public String getServiceType() {
|
|
|
return CloudServiceEnumd.QINIU.getValue();
|
|
@@ -100,4 +106,21 @@ public class QiniuCloudStorageServiceImpl extends AbstractCloudStorageService im
|
|
|
OssFactory.register(getServiceType(),this);
|
|
|
}
|
|
|
|
|
|
+ private Region getRegion(String region) {
|
|
|
+ switch (region) {
|
|
|
+ case "z0":
|
|
|
+ return Region.region0();
|
|
|
+ case "z1":
|
|
|
+ return Region.region1();
|
|
|
+ case "z2":
|
|
|
+ return Region.region2();
|
|
|
+ case "na0":
|
|
|
+ return Region.regionNa0();
|
|
|
+ case "as0":
|
|
|
+ return Region.regionAs0();
|
|
|
+ default:
|
|
|
+ return Region.autoRegion();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|