zor*_*rza 2 javascript node.js angularjs restify restangular
我有一个简单的node.js + Restify后端,标准的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);
});Run Code Online (Sandbox Code Playgroud)
它想要做的是创建CSV文件并将其返回.
当我只是在网络浏览器中键入端点地址并按Enter键时,它的效果很好.文件正确下载.
但是,当我尝试做同样的事情,但我没有使用浏览器的地址栏,而是使用Restangular:
Restangular.one('download').get().then(function (res) {
console.log(res);
});Run Code Online (Sandbox Code Playgroud)
它只是将响应写入控制台,但没有下载任何文件.
有没有办法使用Restangular?或者我可能需要为此使用别的东西?
我不确定Restangular是否可以做到这一点,但我正在使用FileSaver脚本来做这样的事情.将Filesaver添加到HTML头,然后:
Restangular.one('download').get().then(function (res) {
var file = new Blob([res], { type: 'text/csv' });
saveAs(file, 'something.csv');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4885 次 |
| 最近记录: |