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