获取临时上传凭证

This commit is contained in:
2024-09-05 17:32:00 +08:00
parent 72a3057126
commit 81b6454557
4 changed files with 61 additions and 15 deletions

View File

@@ -20,8 +20,11 @@ import cn.ysk.cashier.annotation.rest.AnonymousGetMapping;
import cn.ysk.cashier.annotation.rest.AnonymousPostMapping;
import cn.ysk.cashier.domain.QiniuConfig;
import cn.ysk.cashier.domain.QiniuContent;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.service.QiNiuService;
import cn.ysk.cashier.service.dto.QiniuQueryCriteria;
import com.aliyun.sts20150401.models.AssumeRoleResponse;
import com.aliyun.tea.TeaException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -98,6 +101,36 @@ public class QiniuController {
return new ResponseEntity<>(map,HttpStatus.OK);
}
@AnonymousGetMapping(value = "/getCredentials")
@ApiOperation("获取上传临时凭证")
public ResponseEntity<Object> getCredentials() {
try {
com.aliyun.sts20150401.Client client = new com.aliyun.sts20150401.Client(qiNiuService.findTempCloud());
com.aliyun.sts20150401.models.AssumeRoleRequest assumeRoleRequest = new com.aliyun.sts20150401.models.AssumeRoleRequest();
assumeRoleRequest.setRoleArn("acs:ram::1413456038175003:role/oss");
assumeRoleRequest.setRoleSessionName("test");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
// 复制代码运行请自行打印 API 的返回值
AssumeRoleResponse response = client.assumeRoleWithOptions(assumeRoleRequest, runtime);
return new ResponseEntity<>(response.getBody().getCredentials(),HttpStatus.OK);
} catch (TeaException error) {
throw new BadRequestException("获取失败,请联系管理员。"+error.getMessage());
// System.out.println(error.getMessage());
// 诊断地址
// System.out.println(error.getData().get("Recommend"));
// com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
throw new BadRequestException("获取失败,请联系管理员。"+ _error.getMessage());
// TeaException error = new TeaException(_error.getMessage(), _error);
// // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// // 错误 message
// System.out.println(error.getMessage());
// // 诊断地址
// System.out.println(error.getData().get("Recommend"));
// com.aliyun.teautil.Common.assertAsString(error.message);
}
}
// @Log("上传文件")
@ApiOperation("上传文件")