AWS S3 - загрузка файла из Angular Js, но с помощью Node.Js создается предварительно назначенный URL - PullRequest
0 голосов
/ 14 декабря 2018

Мои файлы обновляются, но их нет в имени, как мы отправляем из Angular.Даже файлы не являются общедоступными для чтения.Но когда я пытаюсь добавить ключ acl при отправке файла на S3.

I am facing with an error: invalid according to Policy: Extra input fields: acl

Также возникает ошибка CORS.Любые говорят мне хороший подход или изменения, которые необходимо внести в код Node.Js при создании предварительно назначенного URL-адреса или секретного ключа.

Здесь я также прикрепил свой код ниже:

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'

...