我正在尝试使用REST PUT请求和Axios将本地JPG图像文件更新到S3存储桶中。
我设法发送了PUT请求,并从AWS S3服务获得了肯定的答复**,但上传的内容不是JPG文件,而是JSON文件**。
这是我正在使用的代码:
//Create the FormData
var data = new FormData();
data.append('file', fs.createReadStream(image_path));
//Send the file to File-system
console.log("Sending file to S3...");
const axiosResponse = await axios.put(image_signed_url, {
data: data,
headers: { 'Content-Type': 'multipart/form-data' }
}).catch(function(error) {
console.log(JSON.stringify(error));
return null;
});
我已经尝试将标题更改为{'Content-Type': 'application/octet-stream' }
,但得到了相同的结果。
1条答案
按热度按时间hxzsmxv21#
它没有设法使AXIOS工作,以便上传图像。
node-fetch模块将图像作为二进制文件发送并指定“Content-type”。
如果我尝试使用AXIOS进行相同操作,则图像总是被打包到表单数据中,结果是JSON文件(而不是图像)被上传到S3存储桶中。