Сводка
Мне нужно загрузить локальный файл JSON в s3, используя общедоступный URL-адрес s3. Я использую метод PUT с formData для загрузки файла. Файл успешно загружен, но содержимое файла изменено. Точнее, к содержимому добавляются заголовки запроса.
Простейший пример для воспроизведения
Я использую следующий код для загрузки файла.
// Let the name of the file be **test.json**. The contents are as following:
{
"a": "1",
"b": "2"
}
код js
// code starts here
const url= 'some s3 path url';
const options = {
method: 'PUT',
url: url,
headers: {
'x-amz-acl': 'bucket-owner-full-control'
},
formData: {
file: fs.createReadStream(path.join('./test.json'))
}
};
request(options, function (error, response, body) {
if (error) throw new Error(chalk.bold.red(error));
if (response.statusCode != 200) {
console.error(JSON.stringify(response.body));
return;
}
console.log(chalk.green.bold(response.statusCode));
})
Ожидаемое поведение
Файл должен быть загружен на S3 с аналогичными данными.
Текущее поведение
Файл загружается в корзину S3, но содержимое внутри файла изменяется. Новое содержимое файла:
----------------------------054810111042388555675130
Content-Disposition: form-data; name="file"; filename="test.json"
Content-Type: application/json
{
"a": "1",
"b": "2"
}
----------------------------054810111042388555675130--
Как изменить запрос на загрузку файла без добавления этих дополнительных строк?