Node.js – Using Zlib for compressing and decompressing files
March 10, 2017
The Zlib module in Node.js provides compression and decompression functionality implemented using Gzip and Deflate/Inflate.
Refer to the sample code below, two functions compress() and decompress() respectively.
// access the libraries
const zlib = require('zlib');
const fs = require('fs');
function compress(inFilename, outFilename) {
const gzip = zlib.createGzip();
const input = fs.createReadStream(inFilename);
const output = fs.createWriteStream(outFilename);
input.pipe(gzip).pipe(output);
}
function decompress(inFilename, outFilename) {
const unzip = zlib.createUnzip();
const input = fs.createReadStream(inFilename);
const output = fs.createWriteStream(outFilename);
input.pipe(unzip).pipe(output);
}
// compress file my-document.txt in same directory and output as my-document.gz
compress('my-document.txt', 'my-document.gz');
// decompress file my-document.gz in same directory and output as my-document.txt
decompress('my-document.gz', 'my-document.txt');
Compression and Decompression made easier with built-in Node.js libraries.
