I’m using JavaScript AWS SDK to upload a file to 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");
}
}
);
}
But I’m receiving CORS error:
Access to XMLHttpRequest at ‘https://xxxxx.s3.amazonaws.com/Files/068VC000001DrynYAC006VC000004zSwSDGF.pdf’ from origin ‘https://yyyyy.salesforce-experience.com’ 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.
I already update S3 bucket CORS setting, but without any results:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"HEAD",
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"Access-Control-Allow-Origin"
]
}
]