Javascript 在节点js中使用axios发送文件流
我有一个node.js服务器和使用graphql的客户端。我需要从客户端上传文件,将其发送到节点服务器,然后将此文件转发到另一个服务,让我们将其命名为X。 当我将文件上传到node.js服务器时,我可以使用apollo graphql API获得一个可读的文件流,并且工作正常。 但当我尝试使用axios将此流发送到X时,在X上我只能读取文件的一个块 下面是my node.js服务器的代码:Javascript 在节点js中使用axios发送文件流,javascript,node.js,http,stream,axios,Javascript,Node.js,Http,Stream,Axios,我有一个node.js服务器和使用graphql的客户端。我需要从客户端上传文件,将其发送到节点服务器,然后将此文件转发到另一个服务,让我们将其命名为X。 当我将文件上传到node.js服务器时,我可以使用apollo graphql API获得一个可读的文件流,并且工作正常。 但当我尝试使用axios将此流发送到X时,在X上我只能读取文件的一个块 下面是my node.js服务器的代码: const { createReadStream } = await file; const stream
const { createReadStream } = await file;
const stream = createReadStream();
axios.post('http://localhost:7000', stream, {
maxBodyLength: Infinity,
maxContentLength: Infinity
});
这是一个接收器(X服务器)控制器代码
const writeStream = fs.createWriteStream('final.csv');
req.pipe(writeStream);
res.send('Hello');
在
final.csv
文件中,我只能看到我发送的数据的一小部分。我希望能够发送最大1GB大小的文件。您在X服务器上收到了什么请求头?@Anatoly accept:'application/json,text/plain,/','content type':'application/X-www-form-urlencoded','user-agent':'axios/0.21.0',host:'localhost:7000',connection:'close',“传输编码”:“分块”您应该尝试将内容类型设置为应用程序/octet流
,以便发送流