从angularjs应用程序的REST接口下载文件

Downloading file from REST interface from angularjs application

本文关键字:接口 下载 文件 REST angularjs 应用程序      更新时间:2023-09-26

我在一个angularjs应用程序中遇到了一个愚蠢的问题。设置是我有一个REST API,我已经为它构建了一个angularjs前端。REST API使用HTTP基本身份验证。现在我想允许用户下载从REST接口提供的文件。

我可以使用$resource或$http服务下载文件,这是伟大的,但我只是结束了数据blob在javascript变量。我不能转发文件,所以浏览器弹出文件下载对话框,允许用户下载它。我想到的另一个解决方案是将浏览器直接转发到文件的REST api URL,但我不知道如何将基本的HTTP凭据注入头部,因此我会得到一个错误,而不是下载文件。

有谁知道如何解决这个问题吗?

我使用提供的重复问题链接解决了这个问题。filesver .js帮了我的忙!

要向用户显示Blob,您可以将其插入页面的HTML元素中。您可以简单地在控制器的某个位置添加{{variableNameofYourResult}}

编辑:要调用文件下载,你可以使用downloadfy库(它有额外的依赖,如flash 10)

关于不依赖flash的另一个可能的解决方案,请查看这篇博客文章