【发布时间】:2016-02-01 04:06:12
【问题描述】:
所以我开始熟悉我的 S3 存储桶的 Javascript SDK,但我陷入了这个相当令人困惑的 CORS 错误。
我的 putObject 和 deleteObject 函数工作得很好,我让我的网站使用了一个公共 IAM 用户,该用户有权在我的存储桶中删除和放入对象。
但是,我现在转到 deleteObjects 函数(允许我通过一个请求删除多个文件),我收到了这个错误:
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许 Origin 访问。响应的 HTTP 状态代码为 403。
我不明白。如果我的 IAM 用户有权删除和放置,它不应该给我这个 CORS 错误,对吧?
这是我的 deleteObjects 函数:
AWS.config.update({ accessKeyId: $scope.creds.access_key, secretAccessKey: $scope.creds.secret_key });
AWS.config.region = 'us-west-2';
var bucket = new AWS.S3({ params: { Bucket: $scope.creds.bucket } });
var params = {
Bucket: $scope.creds.bucket,
Delete: {
Objects: [
{
Key: "pic1"
},
{
Key: "pic2"
}
]
}
}
bucket.deleteObjects(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
});
【问题讨论】:
标签: javascript angularjs amazon-web-services amazon-s3