繁体   English   中英

使用 Azure 函数 nodejs 导出 csv 文件

[英]Export csv file using Azure functions nodejs

我正在尝试导出 csv 文件(从 mongodb 中提取数据)。 我的前端是离子(角度),后端是 Azure function(nodejs),我希望前端能够下载这个 csv 文件。

我的代码:

const { db, connection } = await createMongoClient();
const collection = db.collection("dummy");

try {
    const data = await collection.find({}).toArray();
    connection.close();

    const ws = fs.createWriteStream(Date.now() + ".csv");

    fastcsv
        .write(data, { headers: true })
        .on("finish", function () {
        console.log("Write CSV successfully!");
        })
        .pipe(ws);

    res.status(201).json({ success: true });
} catch (err) {
    res.status(500).json({ err, success: false });
}

上面创建了一个 csv 文件,但它没有被前端下载。

首先,添加

 res.status(201).json({ success: true }); --- remove this line
 res.status(200).send(file being created as csv);

在您的服务的前端创建一个下载方法,该方法在用户单击时请求文件;

this.http.get('REST end point', { responseType: 'blob'}).subscribe(res => {
     window.open(window.URL.createObjectURL(res));
   });

检查这是否有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM