1 2 3 4 5 6 7 8 9 10
| $scope.getFile = function(id){
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.open('GET', /url/to/file/'+id, true);
xhr.setRequestHeader('Authorization', 'myToken');
xhr.onload = function(e) {
window.location=window.URL.createObjectURL(this.response);
};
xhr.send();
}; |
Tu avais raison visiblement, ça marche comme ça. Je vérifierais le $http de AngularJS ne prend peut être pas en charge les blob.
Finalement pas besoin de changer l'url ainsi formé :
blob:http%3A//localhost/a97bf104-4955-4a30-b8a3-1ee7b7a0ab0f
J'utilise chrome. Il est probable que chaque navigateur est son propre nommage des URL (local ? en cache? je ne sais pas bien à quoi correspond cette url, enfin je sais surtout pas où est stocké le binaire à télécharger).
Par contre le fichier que je telecharge a finalement un nom assez moche a97bf104-4955-4a30-b8a3-1ee7b7a0ab0f.pdf, sais tu si je peux le définir ?
En tout cas, merci de ton aide
Partager