Javascript 无法使用angularjs下载有效的zip文件,但是直接点击我的RESTAPI它就可以工作了

Javascript 无法使用angularjs下载有效的zip文件,但是直接点击我的RESTAPI它就可以工作了,javascript,angularjs,Javascript,Angularjs,下面是我的angular.js代码 App.factory('JobMigrationService', ['$http','$q',function($http, $q) { return { downloadSvc: function(requestPayload) { console.info(requestPayload); return $http.get('http://localhost:8080/XXXX',{params:{"param

下面是我的angular.js代码

App.factory('JobMigrationService', ['$http','$q',function($http, $q) {

return {
    downloadSvc: function(requestPayload) {
        console.info(requestPayload);
        return $http.get('http://localhost:8080/XXXX',{params:{"params":value}},{responseType:'arraybuffer'})
        .then(
                function(response){
                    console.info(response);
                    var a = document.createElement('a');
                    var blob = new Blob([success], {'type':"application/octet-stream",'responseType':"arraybuffer"});
                    a.href = URL.createObjectURL(blob);
                    a.download = "filename.zip";
                    a.click();
                }, 
                function(errResponse){
                    console.error('Error');
                    return $q.reject(errResponse);
                }
        );
    }
}

}]);
下载正在进行中,但当尝试打开zip文件时,它表示该文件无效,但是使用RESTAPI direct hit可以正常工作


提前谢谢

我想一定是这个了

  var blob = new Blob([success], {'type':"application/octet-stream",'responseType':"arraybuffer"});
什么是[成功]?难道不是吗

   var blob = new Blob(response.data, {'type':"application/octet-stream",'responseType':"arraybuffer"});
这有点干净。我想

    App.factory('JobMigrationService', ['$http','$q',function($http, $q) {

return {
    downloadSvc: function(requestPayload) {
        console.info(requestPayload);
        return $http.get('http://localhost:8080/XXXX',{params:{"params":value}},{responseType:'blob'})
        .then(
                function(response){
                    console.info(response);
                    var a = document.createElement('a');
                    a.href = URL.createObjectURL(response.data);
                    a.download = "filename.zip";
                    a.click();
                }, 
                function(errResponse){
                    console.error('Error');
                    return $q.reject(errResponse);
                }
        );
    }
}

}]);

我想一定是这个

  var blob = new Blob([success], {'type':"application/octet-stream",'responseType':"arraybuffer"});
什么是[成功]?难道不是吗

   var blob = new Blob(response.data, {'type':"application/octet-stream",'responseType':"arraybuffer"});
这有点干净。我想

    App.factory('JobMigrationService', ['$http','$q',function($http, $q) {

return {
    downloadSvc: function(requestPayload) {
        console.info(requestPayload);
        return $http.get('http://localhost:8080/XXXX',{params:{"params":value}},{responseType:'blob'})
        .then(
                function(response){
                    console.info(response);
                    var a = document.createElement('a');
                    a.href = URL.createObjectURL(response.data);
                    a.download = "filename.zip";
                    a.click();
                }, 
                function(errResponse){
                    console.error('Error');
                    return $q.reject(errResponse);
                }
        );
    }
}

}]);