【发布时间】:2014-12-31 12:06:51
【问题描述】:
尝试在我的 NodeJS 服务器上创建文件下载功能时,我遇到了一些意外行为。
我有一个 REST (express) API,它调用一些导出数据函数,它在服务器上创建一个 CSV 文件并使用res.download('path/to/file') 来触发下载。
响应头包括
Content-Disposition:attachment; filename="indicators.csv"
Content-Length:30125
Content-Type:text/csv; charset=UTF-8
所以一切似乎都井井有条。
问题是,我从服务器得到纯文本的响应。响应包含 CSV 文件包含的所有数据,但不会像我预期的那样触发浏览器的文件下载对话框。 我在 Chrome 和 FF 上都试过了。两个问题都存在。
有什么想法吗?
更新
我设法通过创建一个虚拟表单并使用它的提交操作来进行我的 AJAX 调用来使其工作。但这是一个丑陋的 hack,我仍在寻找更优雅的解决方案。
【问题讨论】:
标签: javascript node.js csv express content-disposition