Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点js中使用axios发送文件流_Javascript_Node.js_Http_Stream_Axios - Fatal编程技术网

Javascript 在节点js中使用axios发送文件流

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

我有一个node.js服务器和使用graphql的客户端。我需要从客户端上传文件,将其发送到节点服务器,然后将此文件转发到另一个服务,让我们将其命名为X。 当我将文件上传到node.js服务器时,我可以使用apollo graphql API获得一个可读的文件流,并且工作正常。 但当我尝试使用axios将此流发送到X时,在X上我只能读取文件的一个块

下面是my node.js服务器的代码:

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流
,以便发送流