Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

621
Views
NodeJS: crea zip, pero en el disco, no en la memoria

Necesito crear un archivo zip con alrededor de 1 GB de datos (pero esa cantidad aumentará en el futuro). Inicialmente, construí esto con AdmZip, pero dado que nuestra VM no tiene mucha memoria (ni la necesita, excepto cuando está creando este archivo zip, por lo que no quiero ampliar), se ejecuta sin memoria y se bloquea.

Luego reconstruí el proceso para usar la línea de comandos zip , pero después de configurarlo todo y publicarlo en el servidor, tuve que descubrir por las malas que ese comando no está disponible en una aplicación web de Azure.

Así que ahora tengo que reconstruirlo de nuevo. ¿Alguien puede recomendarme la biblioteca/bibliotecas de nodo correctas para comprimir y descomprimir en el disco en lugar de en la memoria?

(El formato de archivo zip no es un requisito estricto, por lo que si cualquier otro formato de archivo es mejor para esto, ¡estoy abierto a sugerencias!)

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Echaría un vistazo a Archiver JS , es bastante poderoso y permite una interfaz de transmisión para archivos .zip, por ejemplo:

 const fs = require('fs'); const archiver = require('archiver'); const zipFile = archiver('zip', { zlib: { level: 9 }}); zipFile.on('warning', error => { console.log('warning:', error) }); zipFile.on('error', error => { console.error('error occurred :', error) }); const writeStream = fs.createWriteStream(__dirname + '/test.zip'); zipFile.pipe(writeStream); // Append test file zipFile.append(fs.createReadStream('file1.txt'), { name: 'file_1.txt' }); // Append another file... zipFile.append(fs.createReadStream('file2.txt'), { name: 'file_2.txt' }); zipFile.finalize();

Los documentos completos están aquí: https://www.archiverjs.com/docs/archiver

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!