Best Online Tutorials

SQL Tutorial

Free SQL Tutorial

SQL Interview Questions

SQL Practice Questions

SQL Tips & Tricks

SQL Errors

SQL Books

Angular Tutorial

Free Angular Tutorial

Angular Interview Questions

Angular Practice Questions

Angular Tips & Tricks

Angular Errors

Angular Books

Node.js Tutorial

Free Node.js Tutorial

Node.js Interview Questions

Node.js Practice Questions

Node.js Tips & Tricks

Node.js Errors

Node.js Books

React.js Tutorial

Free React.js Tutorial

React.js Interview Questions

React.js Practice Questions

React.js Tips & Tricks

React.js Errors

React.js Books

SSIS Tutorial

Free SSIS Tutorial

SSIS Interview Questions

SSIS Practice Questions

SSIS Tips & Tricks

SSIS Errors

SSIS Books

SEO Tutorial

Free SEO Tutorial

SEO Interview Questions

SEO Practice Questions

SEO Tips & Tricks

SEO Errors

SEO Books

Javascript Tutorial

Free Javascript Tutorial

Javascript Interview Questions

Javascript Practice Questions

Javascript Tips & Tricks

Javascript Errors

Javascript Books

MongoDB Tutorial

Free MongoDB Tutorial

MongoDB Interview Questions

MongoDB Practice Questions

MongoDB Tips & Tricks

MongoDB Errors

MongoDB Books

Next.js Tutorial

Free Next.js Tutorial

Next.js Interview Questions

Next.js Practice Questions

Next.js Tips & Tricks

Next.js Errors

Next.js Books

Node.js - ZLIB 

Prashant Surya  |   Nov 19, 2019  |  Views: 11

Description:

What is ZLIB in Node.js?

Zlib is a module in Node.js responsible for compression and decompression (Like Zip and UnZip) functionality.

It does so by using Gzip and Deflate/Inflate, as well as Brotli.


How to import Zlib?
const zlib = require('zlib');

The process of Compressing/decompressing a stream (such as a file) can be achieved by piping the source stream data through a zlib stream into a destination stream.

Example to Compress a File using Node.js ZLIB:


Let's see a simple example of Node.js ZLIB module to compress a file "input.txt" into "input.txt.gz".


const zlib = require('zlib');  
const gzip = zlib.createGzip();
const fs = require('fs');
const inp = fs.createReadStream('input.txt');
const out = fs.createWriteStream('input.txt.gz');
inp.pipe(gzip)
  .on('error', () => {
    // handle error
  })
  .pipe(out)
  .on('error', () => {
    // handle error
  });


Example to decompress a File using Node.js ZLIB:


Let's see a simple example of Node.js ZLIB module to decompress a file "input.txt.gz" into "input2.txt".


const zlib = require('zlib');  
const uzip = zlib.createUnzip();
const fs = require('fs');
const inp = fs.createReadStream('input.txt.gz');
const out = fs.createWriteStream('unzipinput.txt');
inp.pipe(uzip)
  .on('error', () => {
    // handle error
  })
  .pipe(out)
  .on('error', () => {
    // handle error
  });


Using deflate it is also possible to compress or decompress data in a single step:


Example:

const input = '.................................';
zlib.deflate(input, (err, buffer) => {
  if (!err) {
    console.log(buffer.toString('base64'));
  } else {
    // handle error
  }
});
const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');
zlib.unzip(buffer, (err, buffer) => {
  if (!err) {
    console.log(buffer.toString());
  } else {
    // handle error
  }
});



Reference:

Comments:
Content Contributor
Prashant Surya

Prashant Surya

Software developer at Uniserve Data Technologies Pvt. Ltd.  |   Noida, Uttar Pradesh, India

I am a software developer, freelancer and trainer working on technologies likes. MEAN stack, MERN Stack, ASP.NET full stack, WebRTC, socket.io ,PWA, SQL, JavaScript, jQuery, HTML, CSS, SEO, responsive UI/UX designing... having 7 years of experience in development in multiple domains like, eCommerce, RTA, capital markets, education, real estate...


Read related articles

Node.js - Modules

Prashant Surya  |   Dec 26, 2019  |  Views: 9

Node.js - Cluster

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - IPC

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - OS

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Node.js - Global Objects

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - Command Line Options

Prashant Surya  |   Nov 19, 2019  |  Views: 18

Node.js - Callbacks

Prashant Surya  |   Nov 19, 2019  |  Views: 10

Node.js - NPM

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - REPL

Prashant Surya  |   Nov 19, 2019  |  Views: 9

Node.js - Console

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Node.js - First Example

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - Installation

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - Introduction

Prashant Surya  |   Nov 19, 2019  |  Views: 16

Node.js - Http

Prashant Surya  |   Nov 19, 2019  |  Views: 11

Node.js - Timer

Prashant Surya  |   Nov 19, 2019  |  Views: 14

Node.js - Crypto

Prashant Surya  |   Nov 19, 2019  |  Views: 10

Node.js - Errors

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - File System

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - Http/2

Prashant Surya  |   Nov 19, 2019  |  Views: 9

Node.js - Query String

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Node.js - Async Hooks

Prashant Surya  |   Nov 19, 2019  |  Views: 15

Node.js - Https

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - String Decoder

Prashant Surya  |   Nov 19, 2019  |  Views: 11

Node.js - DNS

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Node.js - Debugger

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - TLS/SSL

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - Child Process

Prashant Surya  |   Nov 19, 2019  |  Views: 13

Node.js - Process

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - Streams

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - Net

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Node.js - Crypto

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - Performance Hooks

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Node.js - Path

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - StringDecoder

Prashant Surya  |   Nov 19, 2019  |  Views: 17

Node.js - Assertion

Prashant Surya  |   Nov 19, 2019  |  Views: 5

Node.js - Query String

Pooja Goel  |   Nov 19, 2019  |  Views: 6

Node.js - Callbacks

Prashant Surya  |   Nov 19, 2019  |  Views: 15

Node.js - Buffers

Prashant Surya  |   Nov 19, 2019  |  Views: 10

Node.js - Events

Prashant Surya  |   Nov 19, 2019  |  Views: 17

Node.js - ZLIB

Prashant Surya  |   Nov 19, 2019  |  Views: 12

Node.js - TTY

Prashant Surya  |   Nov 19, 2019  |  Views: 11

Node.js - Trace Events

Prashant Surya  |   Nov 19, 2019  |  Views: 5

Node.js - Worker Threads

Prashant Surya  |   Nov 19, 2019  |  Views: 8

Node.js - Web Modules

Prashant Surya  |   Nov 19, 2019  |  Views: 7

Want to sell your software ?-

If you want to sell your readymade software to the genuine clients or businessman, list your software with details and demo links.

  • Sell ERP
  • Sell Website Clones
  • Sell App Clones
  • Sell Readymade Portals
  • Sell Readymade Websites
  • Sell Mobile Apps
  • Sell Window Apps

Clients will find it using our advanced search filter and will contact you directly.

No any charge for the product lsiting.

Do you own a Company ?+

Property.sale

Buy or Sell Commercial Property+

Are you a freelancer ?+

Looking for a job ?+

Are you a Service Provider ?+

Are you a blogger ?+

Do you own an IT Institute ?+



Property.sale