首页 > 解决方案 > 使用预签名 url 流式上传到 S3 失败,出现 403

问题描述

使用 nodeJs 将二进制文件上传到预签名的 S3 url,当正文作为缓冲区呈现时请求成功,但在作为流呈现时失败并返回 403。文档表明 body 可以是缓冲区或流。

// this succeeds
request({
  url: uploadUrl,
  headers: {
    'Content-Length':length
  }
  method: 'put',
  body: fs.readFileSync(name),
},(err,resp,body)=>{
..
})

// this fails with 403
request({
  url: uploadUrl,
  method: 'put',
  headers: {
    'Content-Length':length
  }
  body: fs.createReadStream(name),
},(err,resp,body)=>{
..
})

标签: node.jsamazon-s3request

解决方案


推荐阅读