我想使用JavaScript从用户那里获取aws-s3存储桶名称,并且希望在浏览器中显示存储桶数据。
我已经制作了一个函数,该函数将从html页面获取一个存储桶名称,然后它将显示所需的输出。
function loadBucket(){
const s3 = new AWS.S3({
region: '**-*****-*',
accessKeyId: '************,
secretAccessKey: '********************'
});
var bucket = document.getElementById('bucketName').value;
var params = {
Bucket: bucket,
MaxKeys: 5
}
s3.listObjects(params, function(err,data) {
if (err) console.log("error is : " + err)
else console.log(data.Contents);
});
}
我希望输出采用JSON形式,例如:
{
name: "xyz",
age: 20
}
相反,出现以下错误:
aws-sdk-2.476.0.min.js:62 OPTIONS https://varungarg.s3.amazonaws.com/?max-keys=0 403 (Forbidden).
Access to XMLHttpRequest at 'https://varungarg.s3.amazonaws.com/?max-keys=0' from origin 'null' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
答案 0 :(得分:0)
由于CORS,此邮件已被阻止。 我不确定请求为何具有原始标头和空值,但如果您在存储区中为允许的来源“ *”启用CORS,则应该可以解决错误。