2017-05-03 2 views
1

Ich habe einen Zip-Download codiert, aber das Problem, dass ich konfrontiert bin, ist, dass ich es nicht schaffen, die .zip einen benutzerdefinierten Dateinamen zu geben. Es hält mir einen zufälligen Namen wie diese "ff22f3dc-24dc-41cb-b83d-06acef1694d0.zip". Gibt es eine Option oder etwas ähnliches, um es zu setzen?benutzerdefinierten Dateiname mit JSZIP setzen

Die Art, wie ich meinen Download starte, geschieht mit diesem Code. Ich arbeite nicht mit einem 'a' tag btw.

jszip.generateAsync({type:"blob"}) 
       .then(function(content) 
       { 
        window.location = URL.createObjectURL(content); 
       }); 
     } 

Ich bin dankbar für jeden Rat.

EDIT: Diese zip enthält Excel-Dateien (Arbeit mit JSZIP Utils)

Antwort

0

Nach this page in the documentation, ist es möglich, die FileSaver polyfill zu benutzen, um Ihre Download einen benutzerdefinierten Dateinamen zu geben. Es funktioniert jedoch nur mit modernen Browsern, Sie müssen die Feature-Erkennung verwenden, um auf das Standardverhalten zurückzugreifen.

sehen, ob das funktioniert:

try { 
    var isFileSaverSupported = !!new Blob; 
} catch (e) {} 

jszip.generateAsync({ type: "blob" }) 
    .then(function(content) { 
     if(isFileSaverSupported) { 
      saveAs(content, "custom_filename.zip"); 
     } else { 
      window.location = URL.createObjectURL(content); 
     } 
    }); 
+0

ich ziemlich zuversichtlich bin, dass dies funktionieren würde, aber ist es eine Möglichkeit, eine andere Bibliothek ohne Verwendung? – Ch3micaL