update 更新OSS模块 七牛云相关代码

This commit is contained in:
疯狂的狮子li 2021-07-23 15:35:28 +08:00
parent 2d17123b74
commit 22fd00832d
2 changed files with 38 additions and 5 deletions

View File

@ -143,7 +143,7 @@ public class CloudStorageProperties {
*/ */
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class QiniuProperties { public static class QiniuProperties {
/** /**
* 七牛绑定的域名 * 七牛绑定的域名
@ -170,6 +170,16 @@ public class CloudStorageProperties {
*/ */
private String bucketName; private String bucketName;
/**
* 七牛存储区域
*/
private String region;
/**
* 七牛存储区域
*/
private Boolean isHttps;
} }
} }

View File

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