Şu an uzun zamandır araştırma yapıyorum ve sorunumu çözmek için net bir cevap bulamadım.http yanıt gövdesinden bir dosya indirin
Durum şudur: Bir sunucuya posta isteği gönderiyorum. Yanıt, gövdesindeki bir pcap dosyasının ikili dosyasını içerir. Dosya olarak nasıl indirebilirim?
Benim basitleştirilmiş kod:
...
this.downloadPcap = function(timestamp){
var start = timestamp-10;
var end = timestamp+10;
var requestData = {"start": start, "end": end};
$http.post(serverUrl, requestData);
}
Bu bazı olayın zaman damgası almak bir tıklama tarafından tetiklenir ve sunucu öncesi ve kesin olaydan sonra 10 saniye arasında bir PCAP dosyası oluşturur edilir.
Uzun bir ikili ile yanıt alıyorum. Ayrıca :
İçerik-Uzunluk: 134772
Content-Type: Ben başlık şöyle olacaksa, tarayıcı otomatik olarak indirilmeye başlanacak söylendi
Şimdi
uygulama/pcap Bir dosya olarak yanıt. Olmaz.
Bu yüzden Blob ve FileSaver hakkında çok az şey okudum, ancak dinamik olarak oluşturulmuş dosyaları indirmenin daha kolay bir yolu olması gerektiğini düşünüyorum.
Lütfen birisi bana bir yöne işaret edebilir mi? Daha fazla kütüphane içermekten daha basit bir yol yok mu?
bu cevabı http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-not-through-server#answer-18197341 deneyin – jcubic
Content-Disposition üstbilgisini eklemeye çalıştınız mı? İçerik-Atma: ek; filename = "testfile.someext" ' – marekful
Bir iframe içeren bir form önerebilirdim, ancak form verileri yerine açısal post json'undan beri, o kadar kolay olmayan ajax -> blob url metodunu kullanmanız gerekecek. – Musa