2015-02-03 23 views
5

:Angularjs/Restangular, dosya blobunu nasıl indirebiliriz? Krom/FF den bu IE daha kolay görünüyor Nedense

$scope.download = function() { 
    Restangular.one(myAPI) 
     .withHttpConfig({responseType: 'blob'}).customGET().then(function(response) { 

     //IE10 opens save/open dialog with filename.zip 
     window.navigator.msSaveOrOpenBlob(response, 'filename.zip'); 

     //Chrome/FF downloads a file with random name     
     var url = (window.URL || window.webkitURL).createObjectURL(response); 
     window.location.href = url; 
    }); 
}; 

nasıl IE10 + çalışmalara benzer bir şey yapmak için bir yolu var mı? Yani, bir dosya adı/tipi belirtebilirim (yalnızca zip olacak mı)? En kısa sürede size nesne url Eğer bir çapa oluşturabilir ve istediğiniz dosya adına download niteliğini ayarlayabilirsiniz sahip olarak

cevap

17

, nesne url href ayarlayın ve sonra sadece tıklayın çağrı

var myBlob = new Blob(["example"],{type:'text/html'}) 
 
var blobURL = (window.URL || window.webkitURL).createObjectURL(myBlob); 
 
var anchor = document.createElement("a"); 
 
anchor.download = "myfile.txt"; 
 
anchor.href = blobURL; 
 
anchor.click();

Download attribute compatibility