2017-09-08 7 views
0

Ich verwende derzeit die jszip, jszip-utils, and FileSaver zum Zip und Download mehrerer PDFs.FileSaver saveAs funktioniert nicht in IE11

self.createZip = function() { 
    var docs = self.list.filteredItems(); 
    var zip = new JSZip(); 
    var count = 0; 
    var zipFilename = "zipFilename.zip"; 

    docs.forEach(function (item) { 
     var filename = item.formDesc() + "_" + item.id() + ".pdf"; 
     // loading a file and add it in a zip file 
     JSZipUtils.getBinaryContent('../career/document/StreamFile/?path=' + item.fileName(), function (err, data) { 
      if (err) { 
       throw err; // or handle the error 
      } 
      zip.file(filename, data, { binary: true }); 
      count++; 
      if (count == docs.length) { 
       zip.generateAsync({ type: 'blob' }).then(function (content) { 
        try { 
          saveAs(content, zipFilename); 
         } catch (e) { 
          console.log(e); 
         }     
       });     
      } 
     }); 
    }); 

Diese Funktion funktioniert derzeit mit allen aktuellen Browsern außer IE11. In IE11 werden alle Dateien abgerufen, aber hängt saveAs.

+1

Das ist ein guter erster Schritt zu löschen, aber Sie sind an einem Punkt, wo nicht zu Stackoverflow Posting macht noch Sinn. Führen Sie zunächst ein Debugging durch: Wo hört der Code zwischen den Browserversionen auf? Ist dies ein bekanntes Problem für den Dateiserver (haben Sie sich den Bugtracker angeschaut?), Gibt es Konsolenfehler, die Sie für die Google-Suche verwenden können? .? Im Moment sagst du nur: "Mein Code funktioniert nicht, hier ist es, bitte mach mir das klar", ohne Anzeichen dafür, dass [du zuerst versucht hast herauszufinden, was vielleicht falsch ist, selbst] (/ help/wie man fragt). –

+0

Mike, ich habe all das gemacht, sogar einen try-Block hinzugefügt, um einen Fehler zu finden, aber es gibt keinen Fehler. Alle ähnlichen Probleme, die ich gefunden habe, haben den Typ Blob für IE11 vorgeschlagen. Wie ich in der Post gesagt habe, hängt es auf SaveAs und tut nichts. Also habe ich hier gepostet, um zu sehen, ob jemand anderes dieses Problem erlebt hat. – capiono

+0

Angesichts dieser Behauptung gehe ich davon aus, dass Sie nach etwas wie "filesaverjs ie11" gegoogelt haben, dessen erster Treffer https://stackoverflow.com/questions/39266801/saving-file-on-ie-11-with-filesaver - you Erwähnen Sie dies nicht in Ihrem Beitrag, und Sie erwähnen nicht, ob seine Lösung für Sie nicht funktioniert. Wenn dies der Fall ist, musste diese Frage nicht gestellt werden. Wenn das nicht der Fall ist, dann müssen die Leute hier darüber Bescheid wissen, denn das macht dein Problem wirklich anders als das, was bereits auf Stackoverflow beantwortet wurde (einige Male, was ich durch die Suche herausfinden kann). –

Antwort

2

Versuchen Sie, die folgenden nach dem SaveAs-Anweisung den Puffer

content = null; 
+0

Danke, das scheint zu helfen. – capiono

Verwandte Themen