通过http

时间:2018-10-09 10:14:11

标签: javascript node.js http express

我有一个JS数组,我可以在服务器中将其转换为CSV格式,然后通过设置Content-Type: text/csv

发送给客户端

当我将其发送给客户端时,浏览器会自动下载文件,并将文件名作为URL的最后一部分。

例如: 如果链接为/link/to/generated_csv,则generated_csv将自动作为文件名。 如何将文件名指定为downloaded_csv.csv

我正在使用Node.js和Express.js。

router.get("/link/to/generated_csv") = function(req, res) {
    let generated_csv = array2csv(source_js_array);
    res.set("Content-Type", "text/csv");
    // Something here to set a file name??
    return res.send(generated_csv);
}

2 个答案:

答案 0 :(得分:1)

通常使用Content-Disposition标头完成。

Content-Disposition: attachment; filename="downloaded_csv.csv"

答案 1 :(得分:1)

res.set()中包含内容处置

res.set({
    "Content-Disposition": 'attachment; filename="downloaded_csv.csv"',
    "Content-Type": "text/csv",
});