腾讯 cos 对象存储,使用临时密钥操作时报错 403,该如何处理?

背景:
我想使用 cos的 putObject API 来上传图片


首先我卡在这里很久了

1、为了解决这个 403报错,首先我反复查看了该账户给予的权限和策略,但是该给予的都给予了,一直报错 AccessDenied

2、尝试又创建一个账户,使用该密钥来请求但是还是一直报错
3、反复查看存储桶名,以及各个参数是否有误,但是还是没有错,密钥也没有错
4、最后我就想不使用临时密钥,而是直接使用固定密钥,这时候是可以的
5、但是我觉得这样不安全,而且文档也不建议

最终在常见问题中发现此问题了!

解决:

请检查申请临时密钥时填写的 action 和 allowPrefix 是否正确。

  • 例如调用 cos.putObject(),但是 action 里并没有填写name/cos:PutObject,即没有 putObject 权限导致报错 403。
  • 例如操作的 Key 是 1.jpg,但是 allowPrefix 填写的是 test/(只允许操作 test/ 路径),即没有对应路径的操作权限导致报错 403。

我的情况是属于 第2种,是keyallowPrefix不匹配

链接:https://cloud.tencent.com/document/product/436/56530

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在LayUI中使用腾讯云对象存储服务,需要完成以下步骤: 1. 首先,在腾讯云控制台中创建一个对象存储桶,并获取该桶的密钥信息,包括SecretId、SecretKey和Token。 2. 在LayUI中引入腾讯云对象存储的JavaScript SDK,可以通过以下方式引入: ```html <script src="https://cdn.jsdelivr.net/npm/cos-js-sdk-v5/dist/cos-js-sdk-v5.min.js"></script> ``` 3. 创建一个上传文件的方法,代码如下: ```javascript function uploadToCos(file) { // 创建COS SDK实例 var cos = new COS({ SecretId: 'yourSecretId', SecretKey: 'yourSecretKey', SecurityToken: 'yourToken' }); // 上传文件 cos.putObject({ Bucket: 'yourBucketName', Region: 'yourBucketRegion', Key: file.name, Body: file, onProgress: function(progressData) { console.log(JSON.stringify(progressData)); } }, function(err, data) { if (err) { console.log(err); } else { console.log(data); } }); } ``` 其中,`yourSecretId`、`yourSecretKey`和`yourToken`分别为腾讯云对象存储密钥信息,`yourBucketName`为对象存储桶的名称,`yourBucketRegion`为对象存储桶所在的地域。 4. 在HTML中添加一个文件选择控件和上传按钮,代码如下: ```html <input type="file" id="file-selector"> <button id="upload-btn">上传</button> ``` 5. 给上传按钮添加点击事件,调用上传文件的方法,代码如下: ```javascript document.getElementById('upload-btn').addEventListener('click', function() { var file = document.getElementById('file-selector').files[0]; uploadToCos(file); }); ``` 通过以上步骤,就可以在LayUI中使用腾讯云对象存储服务上传文件了。需要注意的是,上传文件需要确保文件大小不超过50MB,否则需要使用分块上传。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值