我有一个简单的 节点.js + 恢复 具有标准CORS设置的后端和此端点:
var file = '1,5,8,11,12,13,176,567,9483'; server.get('/download', function(req, res, next) { res.set({"Content-Disposition": "attachment; filename='numbers.csv'"}); res.setHeader("Content-type", "text/csv"); res.send(file); return next(); }, function(err) { res.send(err); });
它应该做的是创建CSV文件并返回它。
当我简单地在web浏览器中输入端点地址并点击回车键时,效果很好。文件下载正确。
但当我尝试做同样的事情,但不是使用浏览器的地址栏时,我使用Restangular,如下所示:
Restangular.one('download').get().then(function (res) { console.log(res); });
它只将响应写入控制台,但没有下载任何文件。
有没有办法使用Restangular实现这一点?或者我需要用其他东西来做这个?
我不确定Restangular是否能做到这一点,但我正在使用 FileSaver 这类事情的脚本。将文件保护程序添加到HTML头部,然后:
Restangular.one('download').get().then(function (res) { var file = new Blob([res], { type: 'text/csv' }); saveAs(file, 'something.csv'); });