Node.js NodeJs将Mongoose文档作为文件下载
我试图从mongoose文档查找触发文件下载,但是,我似乎无法将返回的数据作为文件返回 如您所见,我正在将一些从DB返回的json数据转换为CSV,然后尝试将其作为文件类型text/CSV发送到客户端 发送响应时,数据似乎没有生成文件附件 如有任何正确方向的建议或建议,将不胜感激Node.js NodeJs将Mongoose文档作为文件下载,node.js,mongodb,csv,Node.js,Mongodb,Csv,我试图从mongoose文档查找触发文件下载,但是,我似乎无法将返回的数据作为文件返回 如您所见,我正在将一些从DB返回的json数据转换为CSV,然后尝试将其作为文件类型text/CSV发送到客户端 发送响应时,数据似乎没有生成文件附件 如有任何正确方向的建议或建议,将不胜感激 exports.download = function (req, res, next) { var dataSetId = req.params.id; DataContentModel.findById(
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);
});
});
};
我需要更多的信息。到底哪里出了问题?您是否已验证数据是否正确来自mongo?您是否验证了csv转换的有效性?只是下载提示不起作用吗?当你尝试它时会发生什么?@TimothyStrimple嘿,对不起,我认为我的解释已经足够了。是的,所有内容都进入了res.send。输出看起来像一个正确的csv文件,并响应浏览器,但只是作为数据,而不是作为文件附件。