[英]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.