如何解决Node Express快速CSV下载到客户端
我已经建立了一个小节点js BE应用程序,该应用程序的顶部装有express和fastCsv模块。期望的结果是能够将csv文件下载到客户端,而无需将其存储在服务器内部的任何位置,因为数据是根据用户标准生成的。 到目前为止,我已经可以使用流来实现它了,因为该csv文件可能很大,具体取决于用户的选择。我很确定下面的代码中缺少一些东西:
const fs = require('fs');
const fastCsv = require('fast-csv');
.....
(inside api request)
.....
router.get('/',async(req,res) => {
const gatheredData ...
const filename = 'sometest.csv'
res.writeHead(200,{
'Content-Type': 'text/csv','Content-Disposition': 'attachment; filename=' + filename
})
const csvDataStream = fastCsv.write(data,{headers: true}).pipe(res)
})
上面的代码以某种方式“起作用”,因为它确实传递回响应,但不是实际文件,而是csv文件的内容,我可以在预览选项卡中查看它作为响应。综上所述,我试图将数据流式传输到csv中,然后将其推送以将文件下载到客户端,而不是将其存储在服务器上。非常感谢任何提示或指示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。