Blog de Gonzalo

CREAR FICHEROS ZIP EN JAVASCRIPT

Hoy he descubierto, por casualidad, que se pueden crear ficheros zip en javascript con la librería JSZip y sin la necesidad de utilizar ningún lenguaje adicional desde el lado del servidor. Esta biblioteca funciona en la mayoría de los navegadores modernos.
La única limitación es el limite impuesto por el navegador del cliente, en general y según la documentación oficial, procesar un archivo de menos de 10 megas no ocasiona demasiados problemas y se puede hacer fácilmente, procesar el archivo consume aproximadamente unos 20 megas de memoria (en caso de que el archivo que se va a comprimir sea un texto ASCII).
Una ventaja de crear ficheros zip desde el lado cliente es que se ahorran recursos del servidor y ancho de banda, pero creo que también abusar del lado cliente puede sobrecaargar el navegador, así que hay que ser cuidadoso.
Un ejemplo sencillo sería:


var zip = new JSZip();
zip.add("hello1.txt", "Hello First Worldn");
var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true});
content = zip.generate();
location.href="data:application/zip;base64," + content;

Aunque el ejemplo ha sidio simple no he comentado casi nada de documentación os dejo el link de documentación y ejemplos: https://stuk.github.io/jszip/

Compartir en twitter