下载zip文件并触发“;保存文件“;对话框的角度方法

Download zip file and trigger "save file" dialog from angular method

本文关键字:对话框 方法 保存文件 zip 下载 文件      更新时间:2023-09-26

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

$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变量data结束。我想修改行为,以便浏览器提供zip档案存储在本地磁盘上。我将如何实现这一点,保持有角度的按钮处理程序?

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

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

在服务器上,确保您的zip文件带有适当的http头,以提示文件下载(内容处置、mime类型…)。