Nodejs как получить AWS объект S3 в качестве форм-данных и сделать запрос POST - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь получить zip-файл, сохраненный на AWS S3 с помощью getObject () api, а затем отправить запрос POST с этим файлом.

s3.getObject({ Bucket: bucket, Key: key }, function (err, file) {
        if (err) console.log(err, err.stack);
        else {
            var options = {
                'method': 'POST',
                'url': 'https://blahblahblah',
                'headers': {
                    'Content-Type': 'application/json',
                    'Authorization': 'Bearer xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
                },
                formData: {
                    'file': {
                        'value': JSON.stringify(file),
                        'options': {
                            'filename': 'file.zip',
                            'contentType': null
                        }
                    }
                }
            };
            request(options, function (error, response) {
                if (error) throw new Error(error);
                console.log(response.body);
            })
}

Я не уверен, как преобразовать объект файла S3 в формате formdata.

Например, если бы мы использовали файл локально, мы могли бы заменить 'value': JSON .stringify (file) на 'value': fs.createReadStream (/ filepath).

Однако, как бы я передал объект S3 в качестве форм-данных?

Любая помощь приветствуется.

...