gpt4 book ai didi

Node.js Express - 如何结合文件创建和 sendFile

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:29 24 4
gpt4 key购买 nike

我知道我们可以在nodeJs中创建一个新文件,如下所示:

let writeStream = fs.createWriteStream(name);
writeStream.write("f1,f2,f3");
writeStream.write("1,2,3");
writeStream.end();

如果我们有文件的绝对路径 - 我们可以将其作为响应发送回来:

res.sendFile(name);

但是我们如何将其结合起来,例如如果我收到创建报告的发布请求,我会进行一些查询,将结果放入 csv 文件中,然后发回相同的新创建的文件?

更新:我看到 sendFile 工作正常 - 但响应以文本形式进行 - 我的问题更多是 - 如何从 ajax 请求触发 csv 下载 - 而不是表单提交。这可能吗 - 因为这似乎是一个巨大的安全风险

最佳答案

假设 myData 包含您的最终数据;

// This will force download at browser side 
res.writeHead(200, {'Content-Type': 'application/force-download','Content-disposition':`attachme‌​nt; filename=myData.csv`});

res.end(myData);

// you can save your data to file in background

fs.writeFile('sample.csv', myData, function(err) {
if (err) throw err;
console.log('file saved');
});

关于Node.js Express - 如何结合文件创建和 sendFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46887894/

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