Skip to content

Commit eec5dbf

Browse files
Merge remote-tracking branch 'upstream/main' into JesusAEE
2 parents f4b9530 + 908df76 commit eec5dbf

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Módulos requeridos, necesitamos este paquete https://github.com/archiverjs/node-archiver
2+
const fs = require("fs")
3+
const archiver = require("archiver")
4+
5+
// Crear un flujo de escritura para el archivo ZIP de salida
6+
const output = fs.createWriteStream(__dirname + "/archivo.zip")
7+
const archive = archiver("zip", {
8+
zlib: { level: 9 }, // Establece el nivel de compresión
9+
})
10+
11+
// Comprobar si hay errores
12+
archive.on("error", function (err) {
13+
throw err
14+
})
15+
16+
// Redirigir los datos del archivo comprimido al archivo de salida
17+
archive.pipe(output)
18+
19+
// Agregar archivos al archivo comprimido
20+
archive.file("/path/to/file0.txt", {
21+
name: "file0-or-change-this-whatever.txt", // Nuevo nombre en el archivo ZIP
22+
})
23+
archive.file("example.txt", { name: "example.txt" })
24+
25+
// Finalizar el archivo comprimido (no olvides escuchar el evento close)
26+
archive
27+
.finalize()
28+
.then(() => {
29+
console.log("Archivo comprimido finalizado con éxito.")
30+
})
31+
.catch((err) => {
32+
console.error("Error al finalizar el archivo comprimido:", err)
33+
})
34+
35+
// Opcionalmente, escuchar el evento finish del flujo de salida
36+
output.on("close", function () {
37+
console.log(archive.pointer() + " bytes totales escritos en archivo.zip")
38+
})

0 commit comments

Comments
 (0)