我正在使用 JavaScript AWS SDK 将文件上传到 S3
const AWS = window.AWS;
AWS.config.update({
accessKeyId: this.credentials.AccessKeyId,
secretAccessKey: this.credentials.SecretAccessKey,
region_config: "us-west-1",
sessionToken: this.credentials.SessionToken
});
let s3 = new AWS.S3({
signatureVersion: "v4"
});
if (this.selectedFilesToUpload) {
s3.upload(
{
Key: 'Files/068VC000001DrynYAC006VC000004zSwSDGF.pdf',
Bucket: 'xxxxx',
ContentType: 'application/pdf',
Body: this.selectedFilesToUpload
},
err => {
if (err) {
console.error(err);
} else {
console.log("Success");
}
}
);
}
但我收到 CORS 错误:
从来源“https://yyyyy.salesforce-experience.com”访问“https://xxxxx.s3.amazonaws.com/Files/068VC000001DrynYAC006VC000004zSwSDGF.pdf”处的 XMLHttpRequest 已被 CORS 策略阻止:响应预检请求未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
我已经更新了S3存储桶CORS设置,但没有任何结果:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"HEAD",
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"Access-Control-Allow-Origin"
]
}
]
要使
Access-Control-Allow-Origin
正常工作,您需要指定您允许的域。你可以尝试:
"ExposeHeaders": [
"Access-Control-Allow-Origin: 'https://yyyyy.salesforce-experience.com"
]