使用应用程序/八位字节内容类型-Node JS进行HTTP请求



目前,我使用的是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;
}
..

最新更新