AWS S3-从Angular Js上传文件,但使用Node.Js创建了预签名URL

时间:2018-12-14 06:31:29

标签: amazon-s3 file-upload acl

我的文件正在更新,但是没有名字,就像我们从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'

0 个答案:

没有答案