Crear, abrir y editar archivos ZIP con JavaScript

JSZip es una pequeña pero potente biblioteca JavaScript para la creación, edición y lectura de archivos comprimidos mediante GZIP, todo desde JavaScript y sin la necesidad de utilizar ningún lenguaje adicional desde el lado del servidor.

La compatibilidad de esta biblioteca es excelente, funciona en la mayoría de los navegadores modernos, específicamente comprobado en: Opera 7.5+, Firefox 3.0+, Safari, Chrome e Internet Explorer desde su versión 6.

comprimir zip con javascript

Utilizar JSZip es de lo más sencillo, vamos con un ejemplo de uso:

var zip = new JSZip();

zip.file("Hello.txt", "Hello World\n");

var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true});

var content = zip.generate();

location.href = "data:application/zip;base64," + content;

A diferencia de procesar el archivo comprimido desde el lado del servidor la única limitación que podemos encontrar se encuentran en el limite impuesto por el navegador del cliente, en general y según la documentación oficial, procesar un archivo de menos de 10mb no encuentra demasiados problemas y se puede hacer fácilmente, procesar dicho archivo consumo aproximadamente unos 20mb de memoria (en caso de que el archivo a comprimir sea un texto ASCII).

Otra salvedad que se encuentra documentada es que no se recomienda el uso de la biblioteca en versiones inferiores a Internet Explorer 10, esto se debe a su falta de soporte de WebGL.

Sacando estos pequeños detalles la biblioteca funciona perfectamente y cumple su trabajo. JSZip se encuentra liberado bajo licencia MIT lo que permite su libre utilización tanto en proyectos personales como comerciales.

Web: JSZip

Categorizado en: