javascript - Not able to download valid zip file using angularjs, however on directly hitting my rest api it is working -
below angular.js code
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 = 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); } ); } } }]);
download happening when try open zip file says invalid using rest api direct hit working fine.
thanks in advance
i think must
var blob = new blob([success], {'type':"application/octet-stream",'responsetype':"arraybuffer"});
whats [success] ? shouldnt
var blob = new blob(response.data, {'type':"application/octet-stream",'responsetype':"arraybuffer"});
this bit cleaner. think
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 = document.createelement('a'); a.href = url.createobjecturl(response.data); a.download = "filename.zip"; a.click(); }, function(errresponse){ console.error('error'); return $q.reject(errresponse); } ); } } }]);