Загрузка файла по запросу узла с использованием предварительно подписанного URL-адреса AWS S3 - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь загрузить файл в AWS S3 Bucket, используя предварительно подписанный URL-адрес и запрос узла.

Мой соответствующий код выглядит следующим образом:

const name = file.split('/').slice(-1)[0]

const { uploadUrl } = await request.post(requestUploadUrl, {
  body: {
    name,
    repo,
    branch,
    type: contentTypes[name.split('.').slice(-1)[0]],
  },
  json: true,
  headers: {
    Authorization: `Bearer ${jwt}`,
  },
})

try {
  await request({
    url: uploadUrl,
    method: 'put',
    formData: { [name]: fs.createReadStream(file) },
  })

  console.log(`Uploaded ${file}`)
} catch (e) {
  console.log(e)
}

The requestUploadUrl - это удаленный URL (созданный мной).

Загрузка файлов работает нормально, если я вручную делаю это в Postman.

При запуске этого сценария все файлы имеют префикс следующих заголовков:

----------------------------920900176793713318627065
Content-Disposition: form-data; name="file.html"
Content-Type: application/octet-stream

Который отображается на веб-странице, когда я пытаюсь загрузить и визуализировать HTML.

Загруженные видеофайлы не работают из-за этих заголовков.

Я хотел бы получить файлы без этих заголовков ВНУТРИ файла, но не уверен, как.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...