无法正确使用S3上的PUT文件获取

时间:2017-11-30 04:02:41

标签: javascript amazon-web-services amazon-s3 filereader fetch-api

使用预先签名的URL我尝试使用JavaScript fetch在我的AWS S3存储桶中输入对象(图像)。

以下是我正在使用的代码片段,由文件上传输入上的更改事件触发。

// The event here is from a change
// trigger on the file input
const target = event.target
const file = target.files[0]
const reader = new FileReader()

reader.onload = (event) => {
  fetch(PRESIGNED_S3_URL, {
    method: 'put',
    body: event.target.result,
    headers: new Headers({
      'Content-Type': file.type
    }),
  }).then((response) => {
    response.json().then((data) => {
      // Success
    })
  })
}

// Read the selected file
reader.readAsText(file)

这确实上传了文件,正确设置了它的名称和文件类型,但是当我尝试查看文件时它已损坏。

我坚持不正确地阅读和上传文件内容。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

要上传图片,您需要将内容处理设置为CONVERT_TO_BINARY。