Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从angularjs应用程序的REST接口下载文件_Javascript_Angularjs_Rest - Fatal编程技术网

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

Javascript 从angularjs应用程序的REST接口下载文件,javascript,angularjs,rest,Javascript,Angularjs,Rest,我对angularjs应用程序有一个愚蠢的问题。 设置是我有一个RESTAPI,我为它构建了一个angularjs前端。RESTAPI使用HTTP基本身份验证。现在我想允许用户下载从REST界面提供的文件 我可以使用$resource或$http服务下载该文件,这很好,但我最终将数据作为一个javascript变量中的blob。我无法转发文件,因此浏览器会弹出文件下载对话框,允许用户下载。我想到的另一个解决方案是将浏览器直接转发到文件的RESTAPI URL,但我不知道如何将基本HTTP凭据注入

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

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

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

更新


我使用提供的重复问题链接解决了问题。FileSaver.js帮我搞定了

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

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


对于没有flash依赖性的另一种可能的解决方案,请看一下这个。

为了让它工作,我需要将{{}放入除内容类型之外的空页面中。据我所知,我将无法在该页面中执行angularjs javascript。因此,您不希望该页面包含rest结果之外的任何内容吗?我希望弹出下载文件对话框,以便用户可以将其存储在本地。这是一个二进制文件,在网页中显示没有任何意义。我标记了一个重复的问题,因为那里的答案应该有助于解决您的问题。如果flash是你的一个选择,你肯定应该看看Downloadify。谢谢,这个问题似乎概述了你的选择!可能重复的