Los archivos Zip son una forma común de almacenar archivos y carpetas comprimidos. En este artículo, demostraré cómo convertir el archivo a formato zip usando el módulo adm-zip (PAQUETE NPM).
Usos de ADM-ZIP
- comprimir el archivo original y cambiarlos a formato zip.
- actualizar/eliminar los archivos existentes (formato .zip).
Instalación de ADM-ZIP:
Paso 1: Instale el módulo usando el siguiente comando en la terminal.
npm install adm-zip
Paso 2: Verifique la versión del módulo instalado usando el siguiente comando.
npm version adm-zip
¡Vamos a cambiar esta carpeta upload_data a un archivo zip usando el módulo adm-zip!
Código para la conversión y descarga del archivo zip:
Javascript
// express is a node framework that is helps in creating // 2 or more web-pages application const express = require('express') // filesystem is a node module that allows us to work with // the files that are stored on our pc const file_system = require('fs') // it is an npm package.this is to be required in our JS // file for the conversion of data to a zip file! const admz = require('adm-zip') // stores the express module into the app variable! const app = express() // this is the name of specific folder which is to be // changed into zip file1 var to_zip = file_system.readdirSync(__dirname+'/'+'upload_data') // this is used to request the specific file and then print // the data in it! app.get('/',function(req,res){ res.sendFile(__dirname+'/'+'index.html') // zp is created as an object of class admz() which // contains functionalities var zp = new admz(); // this is the main part of our work! // here for loop check counts and passes each and every // file of our folder "upload_data" // and convert each of them to a zip! for(var k=0 ; k<to_zip.length ; k++){ zp.addLocalFile(__dirname+'/'+'upload_data'+'/'+to_zip[k]) } // here we assigned the name to our downloaded file! const file_after_download = 'downloaded_file.zip'; // toBuffer() is used to read the data and save it // for downloading process! const data = zp.toBuffer(); // this is the code for downloading! // here we have to specify 3 things: // 1. type of content that we are downloading // 2. name of file to be downloaded // 3. length or size of the downloaded file! res.set('Content-Type','application/octet-stream'); res.set('Content-Disposition',`attachment; filename=${file_after_download}`); res.set('Content-Length',data.length); res.send(data); }) // this is used to listen a specific port! app.listen(7777,function(){ console.log('port is active at 7777'); })
Pasos para ejecutar el programa:
- Nuestro proyecto se parece a:
Abra la terminal en el local deseado y asegúrese de haber descargado el paquete adm-zip usando el siguiente comando.
npm install adm-zip
Ejecute el archivo app.js usando el siguiente comando.
node app.js
¡ Abra el navegador y abra localhost: 7777 y luego la carpeta upload_data se convierte en un archivo zip y se descarga!
Salida: representa todo el procedimiento para convertir un archivo a un archivo zip con la ayuda del siguiente gif, de esta manera puede cambiar su carpeta a un archivo zip y luego descargarlo.
Publicación traducida automáticamente
Artículo escrito por rahulmahajann y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA