使用快速

时间:2017-10-18 12:52:03

标签: node.js express inputstream

有没有办法使用表达路由消费者可以将输入流发送到端点并读取它?

简而言之,我希望端点用户通过流式传输而不是multipart / form方式上传文件。类似的东西:

app.post('/videos/upload', (request, response) => {
    const stream = request.getInputStream();
    const file = stream.read();
    stream.on('done', (file) => {
        //do something with the file
    });
});

有可能吗?

1 个答案:

答案 0 :(得分:3)

在Express中,fork对象是http.IncomingMessage的增强版本,“......实现了可读流界面”

换句话说,request已经是一个流:

request

如果您打算首先将整个文件读入内存(可能不是),您也可以使用bodyParser.raw()

app.post('/videos/upload', (request, response) => {
  request.on('data', data => {
    ...do something...
  }).on('close', () => {
    ...do something else...
  });
});