【发布时间】:2016-04-03 05:49:48
【问题描述】:
我需要使用 JavaScript 强制下载文件。我正在使用 Angular 和 restangular 与 API 进行通信。我现在正在处理来自 API 的文件下载操作... API 返回该文件的原始字节和这些标头:
Content-Disposition:attachment; filename="thefile"
Content-Length:2753
所以我有原始字节,但我不知道如何处理它以将此文件下载到客户端...您能提供一些解决此问题的方法吗?如何处理来自服务器的返回响应以在客户端浏览器另存为对话框中打开?
编辑: 服务器不向我发送文件的内容类型...此外,在调用的标头中需要是身份验证令牌,因此我不能使用带有 url 的直接打开窗口.. 代码是:
vm.downloadFile = function(fileId){
var action = baseHelpers.one('files/' + fileId + '/content').get();
action.then(function(result){});
}
【问题讨论】:
-
包含调用 API 的代码。
-
试试看这个:paxcel.net/blog/…
-
你的内容类型是什么?
-
如果你使用restangular,你可以查看这个例子-gon.to/2013/04/09/…
-
用代码编辑...内容类型不是从 api 发送的
标签: javascript angularjs file blob restangular