30 روز با Node - روز شانزدهم: ماژول zlib در نود جی اس

03 شهریور 1397
Nodejs-Wallpaper

zlib چیست؟

zlib ماژولی است که امکانات فشرده سازی (Compression) و ناهمفشرده سازی (Decompression) را در نود جی اس فراهم می کند.

به زبان ساده، برای zip و unzip کردن فایل ها به کار می رود. این قابلیت ها در ماژول zlib به کمک GZIP و deflate/inflate صورت می گیرد.

همانند باقی ماژولها، روش به کار گیری zlib در نود جی اس با دستور زیر صورت می گیرد:

var zlib = require('zlib');		

فشرده سازی یک فایل به کمک ماژول zlib در نود جی اس

قطعه کد زیر نشان می دهد که چگونه می توان در نود جی اس از این ماژول استفاده کرد:

// Including the required modules	
var zlib = require('zlib');
var fs = require('fs');

var zip = zlib.createGzip();

var read = fs.createReadStream('newfile.txt');
var write = fs.createWriteStream('newfile.txt.gz');
//Transform stream which is zipping the input file
read.pipe(zip).pipe(write);	
console.log("Zipped Successfully");

ناهمفشرده سازی یک فایل به کمک ماژول zlib در نود جی اس

به کد زیر دقت کنید ببینید چگونه می توان یک فایل فشرده شده را به کمک ماژول zlib در نود جی اس از حالت فشرده خارج کرد:

// Including the required modules	
var zlib = require('zlib');
var fs = require('fs');

var unzip = zlib.createUnzip();

var read = fs.createReadStream('newfile.txt.gz');
var write = fs.createWriteStream('unzip.txt');
//Transform stream which is unzipping the zipped file
read.pipe(unzip).pipe(write);	
console.log("unZipped Successfully");

متدهای ماژول zlib

  • متد createDeflate()
  • متد createInflate()
  • متد createDeflateRaw()
  • متد createInflateRaw()
  • متد deflateSync()
  • متد inflateSync()
  • متد deflateRaw()
  • متد inflateRaw()
  • متد deflateRawSync()
  • متد inflateRawSync()
  • متد gzip()
  • متد unzip()
  • متد gzipSync()
  • متد unzipSync()
  • متد createGzip()
  • متد createGunzip()

خلاصه

در درس امروز از دوره 30 روز با نود جی اس، فشرده سازی و ناهمفشرده سازی یک فایل را در نود جی اس و به کمک ماژول zlib یاد گرفتیم. همچنین با اسامی متدهای این ماژول آشنا شدیم.

نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.