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

时间:2014-07-12 22:21:11

标签: javascript angularjs rest

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

我可以使用$ resource或$ http服务下载该文件,这很棒,但我最终将数据作为jb变量中的blob结果。我无法转发文件,因此浏览器弹出文件下载对话框,允许用户下载。我想到的另一个解决方案是将浏览器直接转发到文件的REST api URL,但我不知道如何将基本的HTTP凭据注入到头文件中,因此我会收到错误而不是下载文件。

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

更新

我使用提供的重复问题链接解决了问题。 FileSaver.js为我做了诀窍!

1 个答案:

答案 0 :(得分:1)

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

编辑: 要调用文件下载,您可以使用Downloadify库(具有其他依赖项,如flash 10)

对于没有flash依赖关系的另一种可能的解决方案,请查看此blog post