我对 angularjs 应用程序有一个愚蠢的问题。 设置是我有一个 REST API,我为其构建了一个 angularjs 前端。 REST API 使用 HTTP 基本身份验证。我现在想让用户下载 REST 界面提供的文件。
我可以使用 $resource 或 $http 服务下载文件,这很棒,但我最终只是将数据作为 javascript 变量中的 blob 来下载。我无法转发文件,因此浏览器会弹出文件下载对话框,允许用户下载它。我想到的另一个解决方案是将浏览器直接转发到文件的 REST api URL,但我不知道如何将基本 HTTP 凭据注入(inject) header ,因此我会收到错误而不是下载文件。
有人知道如何解决这个问题吗?
更新
我使用提供的重复问题链接解决了该问题。 FileSaver.js 帮我解决了这个问题!
最佳答案
要向用户显示 Blob,您可以将其插入页面的 HTML 元素中。您可以简单地在 Controller 中的某个位置添加 {{variableNameofYourResult}}
。
编辑: 要调用文件下载,您可以使用 Downloadify库(具有额外的依赖项,例如 flash 10)
有关不依赖闪存的另一种可能的解决方案,请查看此 blog post .
关于javascript - 从 angularjs 应用程序的 REST 接口(interface)下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24717839/