Browse Source

feat: 增加又拍云文件存储

dev
wangqing 5 years ago
parent
commit
8224e5ded6
  1. 7
      pom.xml
  2. 4
      tduck-storage/pom.xml
  3. 2
      tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java
  4. 61
      tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java
  5. 8
      tduck-storage/src/main/java/com/tduck/cloud/storage/entity/enums/OssTypeEnum.java

7
pom.xml

@ -24,6 +24,7 @@
<hutool.version>5.1.2</hutool.version>
<aliyun-oss.sdk.vesion>3.8.0</aliyun-oss.sdk.vesion>
<qiniu-oss.version>[7.2.0, 7.2.99]</qiniu-oss.version>
<upyun.version>4.2.2</upyun.version>
<velocity.version>1.7</velocity.version>
<wx-java-mp.version>3.9.0</wx-java-mp.version>
<knife4j.version>3.0.1</knife4j.version>
@ -161,6 +162,12 @@
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!--又拍云-->
<dependency>
<groupId>com.upyun</groupId>
<artifactId>java-sdk</artifactId>
<version>${upyun.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

4
tduck-storage/pom.xml

@ -34,5 +34,9 @@
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
<dependency>
<groupId>com.upyun</groupId>
<artifactId>java-sdk</artifactId>
</dependency>
</dependencies>
</project>

2
tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java

@ -23,6 +23,8 @@ public final class OssStorageFactory {
return new QiniuCloudStorageService(config);
} else if (config.getOssType() == OssTypeEnum.ALIYUN) {
return new AliyunOssStorageService(config);
} else if (config.getOssType() == OssTypeEnum.UPYUN) {
return new UpyunStorageService(config);
}
return null;
}

61
tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java

@ -0,0 +1,61 @@
package com.tduck.cloud.storage.cloud;
import cn.hutool.core.util.StrUtil;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import com.upyun.RestManager;
import com.upyun.UpException;
import java.io.IOException;
import java.io.InputStream;
/**
* @author : smalljop
* @description : 又拍云存储
* @create : 2021/03/25 11:02
**/
public class UpyunStorageService extends OssStorageService {
RestManager manager;
UpyunStorageService(OssStorageConfig config) {
this.config = config;
this.manager = new RestManager(config.getBucketName(), config.getAccessKeyId(), config.getAccessKeySecret());
this.manager.setApiDomain(RestManager.ED_AUTO);
}
@Override
public String upload(InputStream inputStream, String path) {
try {
manager.writeFile(path, inputStream, null).body();
return config.getDomain() + "/" + path;
} catch (IOException e) {
e.printStackTrace();
} catch (UpException e) {
e.printStackTrace();
}
return StrUtil.EMPTY;
}
@Override
public String upload(byte[] data, String path) {
try {
manager.writeFile(path, data, null).body();
return config.getDomain() + path;
} catch (IOException e) {
e.printStackTrace();
} catch (UpException e) {
e.printStackTrace();
}
return StrUtil.EMPTY;
}
@Override
public void delete(String path) {
}
}

8
tduck-storage/src/main/java/com/tduck/cloud/storage/entity/enums/OssTypeEnum.java

@ -18,9 +18,13 @@ public enum OssTypeEnum {
ALIYUN(0),
/**
* 菜单
* 七牛云
*/
QINIU(1);
QINIU(1),
/**
* 又拍云
*/
UPYUN(2);
@JsonCreator

Loading…
Cancel
Save