Dateien in Webanwendung erstellen und als ZIP herunterladen mit JSZip
Mit der Javascript Bibliothek JSZip lassen sich ganz leicht Inhalte in Dateien schreiben und als ZIP herunterladen. Wir schauen mal, wie das geht.
Will man aus einer Anwendung heraus Dateien erzeugen und als Zip downloaden, z.B. für generierte Config-Files oder generierten Code, lässt sich das sehr leicht mit der Javascript Bibliothek JSZip bewerkstelligen.
Installieren und Einbinden
Die Bibliothek kann ganz einfach über die offizielle Seite heruntergeladen werden oder mittels Npm oder Bower installiert werden.
Installation per Bower:
bower install Stuk/jszipNun kann die Bibliothek eingebunden werden:
dist/jszip.js oder dist/jszip.min.js
Minimales Beispiel
In dieser Stück Code von der JSZip-Webseite wird eine Hello.txt angelegt, mit Text gefüllt und zusammen mit einem Bild gezippt.
var zip = new JSZip(); zip.file("Hello.txt", "Hello World\n"); var img = zip.folder("images"); img.file("smile.gif", imgData, {base64: true}); zip.generateAsync({type:"blob"}) .then(function(content) { // see FileSaver.js saveAs(content, "example.zip"); });
Beispielanwendung mit AngularJS
Jetzt wollen wir das selbst mal ausprobieren und eine kleine Anwendung schreiben, die eine Texteingabe in eine Datei schreibt und zusammen mit einem Base64-Bild als ZIP herunterlädt.
Und das war es auch schon. Für mich eine sehr nützliche Bibliothek, die in dem ein oder anderen Projekt Anwendung finden wird.
Ich hoffe wie immer, dieses erstbeste Beispiel war hilfreich.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen