目前,我使用的是NPM模块 request 将文件上传文件使用Application/Octet-Stream Content类型。问题是我无法恢复响应的身体。这是由于已知错误而发生的:https://github.com/request/request/request/issues/3108
您可以为我提供使用应用程序/八位字节内容类型上传到API的其他方法?
您是否尝试过将文件加载到缓冲区而不是流?在许多情况下,我都可以选择流,但通常只是将内存加载是可以接受的。我没有任何问题使用这种方法:
const imageBuffer = fs.readFileSync(fileName); // Set filename here..
const options = {
uri: url, /* Set url here. */
body: imageBuffer,
headers: {
'Content-Type': 'application/octet-stream'
}
};
request.post(options, (error, response, body) => {
if (error) {
console.log('Error: ', error);
return;
}
使用流进行相同的事情:
const options = {
uri: url, /* Set url here. */
body: fs.createReadStream(fileName),
headers: {
'Content-Type': 'application/octet-stream'
}
};
request.post(options, (error, response, body) => {
if (error) {
console.log('Error: ', error);
return;
}
..