gpt4 book ai didi

node.js - 使用express的nodejs输入流

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:22 24 4
gpt4 key购买 nike

有没有一种方法可以使用 express 路由消费者将输入流发送到端点并读取它?

简而言之,我希望端点用户通过流式传输而不是 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
});
});

有可能吗?

最佳答案

在 Express 中,request 对象是 http.IncomingMessage 的增强版本,“...实现可读流接口(interface)”

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

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

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

const bodyParser = require('body-parser');
...
app.post('/videos/upload', bodyParser.raw({ type : '*/*' }), (request, response) => {
let data = req.body; // a `Buffer` containing the entire uploaded data
...do something...
});

关于node.js - 使用express的nodejs输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46810649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com