正常情况下照着阿里云上面的文档操作应该是没有问题的,但是我就是要按自己方式来,就掉坑里了...
我还提交了工单,搞了两天,才弄好~
代码也贴上来吧,万一哪天github不让我访问了....
后端生成STS:用这种方式就可以了,并不一定要按OSS上面引入 @alicloud/pop-core
// 引入sdk
import {STS} from 'ali-oss'
1:
const client = new STS({
accessKeyId: conf.AccessKeyId,
accessKeySecret: conf.AccessKeySecret
});
2:
const result = await client.assumeRole(conf.RoleArn, policy, conf.TokenExpireTime)
这result里就有临时生成的AccessKeyId, AccessKeySecret, SecurityToken 然后返回给前端
后端主要代码生成signature和policy代码MpUploadOssHelper参考:https://github.com/luozhang002/oss-sign-policy?spm=a2c4g.11186623.2.24.434358abRO5uh0
const mpHelper = new MpUploadOssHelper({
accessKeyId: result.credentials.AccessKeyId,
accessKeySecret: result.credentials.Acce