我想将内容流式传输到可能存储在db中的客户端,它们将保存为文件.
显然res.download可以很好地完成这项工作,但是没有响应.*函数接受一个流,只接受文件路径.
我看了一下res.download impl,它只是设置Content-Disposition头,然后是sendfile.
所以我可以使用这篇文章作为指南来实现这一点. Node.js:响应的管道流通过HTTPS冻结
但似乎我会错过res.send执行的所有包装方面.
我在这里遗漏了什么,或者我应该做管道而不用担心 - 这里最好的做法是什么?
目前正在创建临时文件,所以我现在可以使用res.download.
Mor*_*len 93
您可以直接流式传输到响应对象(它是一个Stream).
基本文件流看起来像这样.
function(req, res, next) {
if(req.url==="somethingorAnother") {
res.setHeader("content-type", "some/type");
fs.createReadStream("./toSomeFile").pipe(res);
} else {
next(); // not our concern, pass along to next middleware function
}
}
Run Code Online (Sandbox Code Playgroud)
这将负责绑定data和end事件.
| 归档时间: |
|
| 查看次数: |
43018 次 |
| 最近记录: |