如何使用Node.js的fs模块实现文件下载并表达

时间:2011-07-07 11:11:23

标签: node.js download express

因为文件应该是动态生成的,所以我应该使用fs模块的writeStream。但我找不到任何与我糟糕的谷歌搜索的示例代码。遗憾。

更具体地说,当有人请求时,我想在MongoDB中提供包含我的数据的CSV文件或PDF文件。

任何人,请给我一些提示。

感谢。

2 个答案:

答案 0 :(得分:16)

使用express,我可以这样实现。

app.get('/down2', function(req, res){
  var filename = 'data.csv';
  res.attachment(filename);
  res.end('hello,world\nkeesun,hi', 'UTF-8'); //Actually, the data will be loaded form db.
});

它有多简单。感谢。

答案 1 :(得分:2)

您不需要fs,只需在请求处理程序中从数据库中流式传输数据

您可以使用Content-Disposition标题

设置文件元数据
Content-Type: image/jpeg
Content-Disposition: attachment; filename=genome.jpeg; 
  modification-date="Wed, 12 Feb 1997 16:29:51 -0500";
Content-Description: a complete map of the human genome