我的文件正在更新,但是没有名字,就像我们从Angular发送的一样。即使文件未设置为公共读取。但是,当我尝试在将文件发送到S3时添加密钥ACL时。
I am facing with an error: invalid according to Policy: Extra input fields: acl
还有一些CORS错误。任何人都告诉我在生成预分配的URL或密钥时,Node.Js代码中需要一些好的方法或更改。
在这里,我还在下面附加了我的代码:
const getPreSignedUrl = (fileName,contentType) => {
return new Promise((resolve, reject) => {
if (!fileName) {
reject(new Error('invalid parameters'));
}
else {
let key=crypto.randomBytes(16).toString('hex')+path.extname(fileName);
let params = {
Bucket: S3Config.bucket,
Fields: {
Key: key
},
Expires: S3Config.expiration,
ACL: S3Config.acl
};
s3Instance.createPresignedPost(params, function (err, data) {
if (err) {
reject(new Error(err));
} else {
console.log(data);
resolve(data);
}
});
}
});
};
我的ACL配置为acl: 'bucket-owner-full-control'