NodeJs将Mongoose文档下载为文件

时间:2014-09-08 21:06:24

标签: node.js mongodb csv

我试图从mongoose文档查找中触发文件下载但是,我似乎无法将返回的数据作为文件返回。

正如您所看到的那样,我将从DB返回的一些json数据转换为CSV,然后尝试将其作为文件类型text / csv发送到客户端。

发送响应时,数据似乎不会生成文件附件。

任何有正确方向的建议或指示都将受到赞赏。

exports.download = function (req, res, next) {
  var dataSetId = req.params.id;

  DataContentModel.findById(dataSetId, function (err, doc) {
    if (err) return next(err);
    if (!doc) return res.send({'error': 'This record was not found.'});

    var keys = [];
    for(var k in doc.data[0]) keys.push(k);

    json2csv({data: doc.data, fields: keys}, function (err, csv) {
      if (err) console.log(err);

      res.setHeader('Content-Type', 'text/csv');
      res.setHeader('Content-Disposition', 'attachment; filename=csv.csv');
      res.send(csv);

    });
  });

};

0 个答案:

没有答案