簡體   English   中英

無法使用angularjs下載有效的zip文件,但是直接點擊我的其余api它正在工作

[英]Not able to download valid zip file using angularjs, however on directly hitting my rest api it is working

下面是我的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文件時它說它無效但是使用其余的api直接命中它工作正常。

提前致謝

我認為一定是這樣

  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);
                }
        );
    }
}

}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM