Télécharger un fichier à partir du corps de la réponse http

J'ai fait des recherches sur ce depuis un certain temps maintenant, et ne pouvez pas trouver une réponse claire /un moyen de résoudre mon problème.

La situation est ceci: je suis de l'envoi d'une requête post vers un serveur. La réponse contient le binaire d'un fichier pcap dans son corps. Comment puis-je télécharger sous forme d'un fichier.

Mon code simplifié:

...
this.downloadPcap = function(timestamp){
  var start = timestamp-10;
  var end = timestamp+10;
  var requestData = {"start": start, "end": end};
  $http.post(serverUrl, requestData);
}

C'est déclenché par un clic, où je reçois le timestamp d'un événement, et le serveur crée un fichier PCAP de 10 secondes avant et après le exacte de l'événement.

- Je recevoir une réponse avec une longue binaire.
Aussi:

Content-Length: 134772

Content-Type: application/pcap

Maintenant on m'a dit que si l'en-tête sera comme ça, le navigateur va automatiquement commencer le téléchargement de la réponse sous forme d'un fichier. Il n'a pas.

Donc, j'ai lu très peu de choses sur Blob, et FileSaver, mais je me sens comme il doit y avoir un moyen plus facile de télécharger des fichiers qui sont créés dynamiquement.

Quelqu'un peut-il svp m'indiquer dans une certaine direction? N'est-il pas plus simple que d'y inclure plus de bibliothèques?

Merci d'avance

Essayez cette réponse stackoverflow.com/questions/3665115/...
Avez-vous essayé d'ajouter-tête Content-Disposition? Content-Disposition: attachment; filename="testfile.someext"
J'aurais suggéré un formulaire avec une iframe mais depuis angulaire post json au lieu des données d'un formulaire, vous devez utiliser l'option n'est pas si facile ajax -> blob méthode d'url.
Grâce jcubic, je vais garder cela à l'esprit au cas où je ne trouve pas un moyen plus facile. Marekful - disant j'ai besoin d'ajouter les en-têtes de la réponse du serveur, et que le serveur va commencer à télécharger le fichier? Musa - merci à toi aussi, j'ai lu au sujet de la réception des données et à l'aide de blob pour le sauver. Peut-être à faire que
Voici un post avec quelques intéressantes réponse à une question très semblable: stackoverflow.com/questions/20904151/...

OriginalL'auteur Finkel | 2015-12-31