首页 > 解决方案 > 在客户端下载 CSV 文件

问题描述

我已经编写了一个 API 来将用户集合从 MONGODB 导出到 CSV。API 在按钮单击时被调用,并将数据导出到 CSV... 现在的问题是,当调用此 API 时,它会在我的项目中生成结果文件,我希望结果文件在客户端下载,这意味着当用户单击导出按钮时,它会显示一个另存为选项,用户选择文件夹、名称等,然后将文件下载到客户端计算机上......知道如何实现这一点......我,M 使用NODE JS , MONGODB和用于数据转换的JSON2CSV模块...下面是我的代码

app.get('/USER/exporttocsv', function (req, res, next) {
    USER.find().select('-__v').lean().exec({}, function (err, products) {
        const json2csvParser = new Json2csvParser({ header: true });
        const csvData = json2csvParser.parse(products);
        fs.writeFile("bezkoder_mongodb_fs.csv", csvData, function (error) {
            if (error) throw error;
            console.log("Write to bezkoder_mongodb_fs.csv successfully!");
        });
    });
})

标签: node.jscsvexport-to-csv

解决方案


您可以将内容类型添加到响应并设置 csv 文件名,如下所示。

router.get('/csv', (req, res) => {
  res.setHeader('Content-Type', 'text/csv');
  res.setHeader("Content-Disposition", 'attachment; filename=ireshan.csv');
  res.send("Sally Whittaker,2018,McCarren House,312,3.75\r\nSally Whittaker,2018,McCarren House,312,3.75");
});


推荐阅读