最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作示例

 更新時間:2020年02月12日 08:24:35   作者:懷素真  
這篇文章主要介紹了node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作,結(jié)合實例形式詳細(xì)分析了node.js基于zlib模塊創(chuàng)建數(shù)據(jù)流以及壓縮和解壓縮等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作。分享給大家供大家參考,具體如下:

我們可以使用 zlib 模塊來對數(shù)據(jù)進(jìn)行壓縮和解壓處理,減小數(shù)據(jù)體積,加快傳輸速度。

一、通過創(chuàng)建轉(zhuǎn)換流,對文件進(jìn)行壓縮和解壓

const fs = require('fs');
const zlib = require('zlib');
const path = require('path');
function gzip($src) {
  fs.stat($src, function (err, stats) {
    if (stats.isFile()) {
      let rs = fs.createReadStream($src);
      //zlib.createGzip()創(chuàng)建一個gzip轉(zhuǎn)換流,是一個可讀可寫流。
      //通過管道將數(shù)據(jù)讀取出來寫入gzip流,然后又通過管道寫入一個文件流中
      $dst = path.join(__dirname, path.basename($src) + '.gz');
      rs.pipe(zlib.createGzip()).pipe(fs.createWriteStream($dst));
    }
  });
}
function ungzip($src) {
  fs.stat($src, function (err, stats) {
    if (stats.isFile()) {
      let rs = fs.createReadStream($src);
      //zlib.createGunzip()創(chuàng)建一個gunzip轉(zhuǎn)換流
      $dst = path.join(__dirname, path.basename($src, '.gz'));
      rs.pipe(zlib.createGunzip()).pipe(fs.createWriteStream($dst));
    }
  });
}
//壓縮文件
gzip('./1.txt');
//解壓文件
ungzip('./1.txt.gz');

zlib.createDeflate() 和 zlib.createInflate() 的使用方法與上面類似,這里就不作演示了。

二、調(diào)用 zlib 方法對數(shù)據(jù)進(jìn)行壓縮與解壓

const zlib = require('zlib');
let data = 'hello,world';
//參數(shù)一表示要壓縮的數(shù)據(jù),可以是string或buffer
zlib.gzip(data, function (err, buffer) {
  if (err) {
    console.log(err);
  }
  //buffer就是壓縮后的數(shù)據(jù)
  console.log(buffer.toString());
  //對buffer數(shù)據(jù)進(jìn)行解壓
  zlib.unzip(buffer, function (err, buffer) {
    console.log(buffer.toString());
  });
});

希望本文所述對大家node.js程序設(shè)計有所幫助。

相關(guān)文章

  • node.js中的fs.lchmodSync方法使用說明

    node.js中的fs.lchmodSync方法使用說明

    這篇文章主要介紹了node.js中的fs.lchmodSync方法使用說明,本文介紹了fs.lchmodSync的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 淺談Node.js:理解stream

    淺談Node.js:理解stream

    本篇文章主要介紹了Node.js:stream,Stream在node.js中是一個抽象的接口,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • 實現(xiàn)一個完整的Node.js RESTful API的示例

    實現(xiàn)一個完整的Node.js RESTful API的示例

    本篇文章主要介紹了實現(xiàn)一個完整的Node.js RESTful API的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Node.js的Express框架使用上手指南

    Node.js的Express框架使用上手指南

    這篇文章主要介紹了Node.js的Express框架使用上手指南,Express可以說是目前Node世界中人氣最高的開發(fā)框架,需要的朋友可以參考下
    2016-03-03
  • nodeJs編寫錯誤處理中間件問題

    nodeJs編寫錯誤處理中間件問題

    這篇文章主要介紹了nodeJs編寫錯誤處理中間件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Node.js中Express框架使用axios同步請求(async+await)實現(xiàn)方法

    Node.js中Express框架使用axios同步請求(async+await)實現(xiàn)方法

    這篇文章主要介紹了Node.js中Express框架使用axios同步請求(async+await)實現(xiàn)方法,結(jié)合實例形式分析了express框架使用異步交互axios模塊實現(xiàn)同步請求的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2023-04-04
  • node.js文件的壓縮解壓問題

    node.js文件的壓縮解壓問題

    這篇文章主要介紹了node.js文件的壓縮解壓問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • node.js中的fs.unlink方法使用說明

    node.js中的fs.unlink方法使用說明

    這篇文章主要介紹了node.js中的fs.unlink方法使用說明,本文介紹了fs.unlink的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js中的fs.truncateSync方法使用說明

    node.js中的fs.truncateSync方法使用說明

    這篇文章主要介紹了node.js中的fs.truncateSync方法使用說明,本文介紹了fs.truncateSync的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實例講解)

    Node.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實例講解)

    下面小編就為大家?guī)硪黄狽ode.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

苍南县| 荆门市| 雷州市| 礼泉县| 秦皇岛市| 吉水县| 阆中市| 瑞丽市| 墨脱县| 大方县| 义马市| 永和县| 曲水县| 南宁市| 南陵县| 乐清市| 雅安市| 信阳市| 军事| 连云港市| 孟村| 萨迦县| 湘阴县| 侯马市| 茶陵县| 乐安县| 襄垣县| 虞城县| 景洪市| 濉溪县| 天峨县| 宁德市| 鹤庆县| 库尔勒市| 津市市| 环江| 永兴县| 定边县| 闸北区| 泰宁县| 宁远县|