我目前正在尝试发送一个非常长的csv文件,该文件将在浏览器中进行处理。
我希望能够将其流式传输到客户端,因为它超过了字符串大小限制,并且在服务器上也会占用太多内存。
我已经尝试过
app.get('/test', (req, res)=>{
let csvStream = byline(fs.createReadStream('./resources/onescsv.csv'));
csvStream.on('data', (line)=>{
csvStream.pipe(res);
});
csvStream.on('end', () => {
res.render('./test/test', {
css:['test/test.css'],
js:['test/test.js']
})
})
});
当我执行上述操作时,它会将读取流发送到客户端,但渲染到页面上,这不是我想要的。我希望能够在客户端JavaScript中逐个接收流缓冲区,以便在流到达时处理流,例如将它们放入表格中。我该如何做?
sendStatus
更改为end
- 忘记了sendStatus
将尝试发送标头。 - James