我正在使用 node.js 构建一个应用程序并尝试将数据下载为 csv 文件。我正在使用 json2csv (https://www.npmjs.com/package/json2csv https://www.npmjs.com/package/json2csv) 以此目的。但是,按照我的配置方式,.csv 文件存储在我的应用程序的根目录中。我希望该文件作为下载发送给用户 - 例如,该文件应出现在用户的/downloads
文件夹。这是我当前的代码:
var fields = ['car', 'price', 'color'];
var myCars = [
{
"car": "Audi",
"price": 1,
"color": "blue"
}, {
"car": "BMW",
"price": 1,
"color": "black"
}, {
"car": "Porsche",
"price": 1,
"color": "green"
}
];
json2csv({ data: myCars, fields: fields }, function(err, csv) {
if (err) console.log(err);
fs.writeFile('file.csv', csv, function(err) { //currently saves file to app's root directory
if (err) throw err;
console.log('file saved');
});
});
var file = '../software-project-metric-dashboard/file.csv';
res.download(file, 'testfile.csv');
有人可以帮忙吗?
Thanks!
如果您使用,请使用 res.sendexpress http://expressjs.com/en/api.html#res.send.
您必须定义一个 HTTP GET 路由,如下所示:
app.get("/pathToYourDownload", function (req, res) {
json2csv({ data: myCars, fields: fields }, function(err, csv) {
res.setHeader('Content-disposition', 'attachment; filename=data.csv');
res.set('Content-Type', 'text/csv');
res.status(200).send(csv);
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)