|
@@ -0,0 +1,81 @@
|
|
|
+package cn.iocoder.yudao.framework.file.core.client.s3;
|
|
|
+
|
|
|
+import cn.hutool.core.io.resource.ResourceUtil;
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
|
|
|
+import cn.iocoder.yudao.framework.file.core.client.impl.s3.S3FileClient;
|
|
|
+import cn.iocoder.yudao.framework.file.core.client.impl.s3.S3FileClientConfig;
|
|
|
+import org.junit.jupiter.api.Disabled;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+
|
|
|
+import javax.validation.Validation;
|
|
|
+
|
|
|
+public class S3FileClientTest {
|
|
|
+
|
|
|
+ @Test
|
|
|
+ @Disabled // 阿里云 OSS,如果要集成测试,可以注释本行
|
|
|
+ public void testAliyun() {
|
|
|
+ S3FileClientConfig config = new S3FileClientConfig();
|
|
|
+ // 配置成你自己的
|
|
|
+ config.setAccessKey(System.getenv("ALIYUN_ACCESS_KEY"));
|
|
|
+ config.setAccessSecret(System.getenv("ALIYUN_SECRET_KEY"));
|
|
|
+ config.setBucket("yunai-aoteman");
|
|
|
+ config.setDomain(null); // 如果有自定义域名,则可以设置。http://ali-oss.iocoder.cn
|
|
|
+ // 默认北京的 endpoint
|
|
|
+ config.setEndpoint("oss-cn-beijing.aliyuncs.com");
|
|
|
+
|
|
|
+ // 执行上传
|
|
|
+ testExecuteUpload(config);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ @Disabled // 腾讯云 COS,如果要集成测试,可以注释本行
|
|
|
+ public void testQCloud() {
|
|
|
+ S3FileClientConfig config = new S3FileClientConfig();
|
|
|
+ // 配置成你自己的
|
|
|
+ config.setAccessKey(System.getenv("QCLOUD_ACCESS_KEY"));
|
|
|
+ config.setAccessSecret(System.getenv("QCLOUD_SECRET_KEY"));
|
|
|
+ config.setBucket("aoteman-1255880240");
|
|
|
+ config.setDomain(null); // 如果有自定义域名,则可以设置。http://tengxun-oss.iocoder.cn
|
|
|
+ // 默认上海的 endpoint
|
|
|
+ config.setEndpoint("cos.ap-shanghai.myqcloud.com");
|
|
|
+ config.setRegion("ap-shanghai");
|
|
|
+
|
|
|
+ // 执行上传
|
|
|
+ testExecuteUpload(config);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ @Disabled // 七牛云存储,如果要集成测试,可以注释本行
|
|
|
+ public void testQiniu() {
|
|
|
+ S3FileClientConfig config = new S3FileClientConfig();
|
|
|
+ // 配置成你自己的
|
|
|
+ config.setAccessKey(System.getenv("QINIU_ACCESS_KEY"));
|
|
|
+ config.setAccessSecret(System.getenv("QINIU_SECRET_KEY"));
|
|
|
+ config.setBucket("s3-test-yudao");
|
|
|
+ config.setDomain("http://r8oo8po1q.hn-bkt.clouddn.com"); // 如果有自定义域名,则可以设置。http://static.yudao.iocoder.cn
|
|
|
+ // 默认上海的 endpoint
|
|
|
+ config.setEndpoint("s3-cn-south-1.qiniucs.com");
|
|
|
+
|
|
|
+ // 执行上传
|
|
|
+ testExecuteUpload(config);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void testExecuteUpload(S3FileClientConfig config) {
|
|
|
+ // 补全配置
|
|
|
+ if (config.getRegion() == null) {
|
|
|
+ config.setRegion(StrUtil.subBefore(config.getEndpoint(), '.', false));
|
|
|
+ }
|
|
|
+ ValidationUtils.validate(Validation.buildDefaultValidatorFactory().getValidator(), config);
|
|
|
+ // 创建 Client
|
|
|
+ S3FileClient client = new S3FileClient(0L, config);
|
|
|
+ client.init();
|
|
|
+ // 上传文件
|
|
|
+ String path = IdUtil.fastSimpleUUID() + ".jpg";
|
|
|
+ byte[] content = ResourceUtil.readBytes("file/erweima.jpg");
|
|
|
+ String fullPath = client.upload(content, path);
|
|
|
+ System.out.println("访问地址:" + fullPath);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|