2016-11-30 5 views
1

Dieses Problem macht mich verrückt.Große Dateien herunterladen Problem bei Google Chrome

Ich möchte einen von iTextSharp erstellten PDF-Bericht exportieren.

Ich habe ein ASP.NET-Web-API-Projekt, wo ich meinen Code habe, der die PDF-Datei generiert.

Ich rufe die API mit jQuery mit Post-Methode, um einige Parameter zu senden, erhalten Sie die Abfrage Ergebnis basierend auf diesen Filtern und exportieren Sie sie.

Alles funktioniert sowohl IE und FireFox. Das Problem betrifft Google Chrome, wenn Dateien mit mehr als 5 MB zur Verfügung stehen. Der Vorgang ist abgeschlossen, aber ich bekomme "Download fehlgeschlagen - Netzwerkfehler" von Chrome.

Das Problem scheint viel mehr mit dem Javascript-Teil verwandt zu sein, da das Byte-Array korrekt zurückkehrt.

Irgendwelche Hilfe diesbezüglich bitte?

Meine ASP.NET-Api Methodencode:

[HttpPost] 
public byte[] ExportPDFRequestsList(RequestFilter filter) 
{ 
    //Method contains the logic of export that has no issues 
    return RequestsService.ExportPDFRequestsList(filter); 
} 

Mein JavaScript-Code zum Herunterladen der Datei:

$.when(
     //jQuery ajax post method -- works fine 
     AppObj.JsonCall("Post", exportPDFRequestsListUrl, true, parameter) 

    ).then(function (response) { 
     var newdata = "data:application/pdf;base64," + escape(response); 
     var a = document.createElement("a"); 
     //build download link: 
     a.href = newdata; 
     a.setAttribute("download", "Requests.pdf"); 
     document.body.appendChild(a); 
     setTimeout(function() { 

      var e = document.createEvent("MouseEvents"); 

      e.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null 
     ); 
      a.dispatchEvent(e); 
      document.body.removeChild(a); 

     }, 999); 

    }); 

Antwort

Verwandte Themen