下载zip文件并从angular方法触发“保存文件”对话框

时间:2014-10-26 10:30:41

标签: javascript angularjs

我有一个标准的角度代码,单击按钮时会触发:

$scope.downloadAll = function () {   
  $http.get("download.php?id=" + $scope.id).success(function (data) {
    }).error(function () {
        $scope.status = "Error: can not download table data from server.";
    }); 
 }

但我的php脚本返回一个zip存档,其内容最终以javascript变量数据结束。我想修改行为,以便浏览器提供zip存档以存储在本地磁盘上。如何保持角度按钮处理程序?

1 个答案:

答案 0 :(得分:0)

在角度控制器中,注入$window并像这样使用它:

$scope.downloadAll = function () {
  $window.location.href = "/download.php?id=" + $scope.id;
}

在服务器上,确保您的zip文件附带相应的http标头,以提示文件下载(内容处理,mime类型......)。