我正在尝试使用预签名的url和节点请求将文件上传到AWS S3存储桶。
我的相关代码如下:
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)
}
requestUploadUrl
是一个远程URL(由我创建)。
如果我在Postman中手动进行文件上传,则可以正常工作。
当我运行此脚本时,所有文件都带有以下标头作为前缀:
----------------------------920900176793713318627065
Content-Disposition: form-data; name="file.html"
Content-Type: application/octet-stream
当我尝试下载和呈现HTML时,在网页中显示哪个。
由于这些标题,上传的视频文件不起作用。
我想获取不带这些头的文件,但不知道如何。