Formato de compresión que permite reducir el tamaño de archivos y carpetas.
Para facilitar su almacenamiento y transmisión. Combina múltiples archivos en uno solo.
// Crear ZIP en Node.js con archiver import archiver from 'archiver'; import fs from 'fs'; async function crearZip(carpeta: string, archivoDestino: string) { const output = fs.createWriteStream(archivoDestino); const archive = archiver('zip', { zlib: { level: 9 } }); archive.pipe(output); // Agregar carpeta completa archive.directory(carpeta, false); // O archivos específicos archive.file('documento.pdf', { name: 'docs/documento.pdf' }); archive.append('contenido', { name: 'archivo.txt' }); await archive.finalize(); console.log('ZIP creado:', archivoDestino); } // Extraer ZIP import AdmZip from 'adm-zip'; function extraerZip(archivoZip: string, destino: string) { const zip = new AdmZip(archivoZip); zip.extractAllTo(destino, true); } // En línea de comandos # Comprimir zip -r archivo.zip carpeta/ tar -czvf archivo.tar.gz carpeta/ # Extraer unzip archivo.zip -d destino/ tar -xzvf archivo.tar.gz // Descargar ZIP desde API app.get('/download/backup', async (req, res) => { res.setHeader('Content-Type', 'application/zip'); res.setHeader('Content-Disposition', 'attachment; filename=backup.zip'); // Stream del archivo });