有没有办法使用表达路由消费者可以将输入流发送到端点并读取它?
简而言之,我希望端点用户通过流式传输而不是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
});
});
有可能吗?
答案 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...
});
});