node.js使用zlib模块进行数据压缩和解压操作示例
2020-02-13 11:39
716 查看
本文实例讲述了node.js使用zlib模块进行数据压缩和解压操作。分享给大家供大家参考,具体如下:
我们可以使用 zlib 模块来对数据进行压缩和解压处理,减小数据体积,加快传输速度。
一、通过创建转换流,对文件进行压缩和解压
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()创建一个gzip转换流,是一个可读可写流。 //通过管道将数据读取出来写入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()创建一个gunzip转换流 $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() 的使用方法与上面类似,这里就不作演示了。
二、调用 zlib 方法对数据进行压缩与解压
const zlib = require('zlib'); let data = 'hello,world'; //参数一表示要压缩的数据,可以是string或buffer zlib.gzip(data, function (err, buffer) { if (err) { console.log(err); } //buffer就是压缩后的数据 console.log(buffer.toString()); //对buffer数据进行解压 zlib.unzip(buffer, function (err, buffer) { console.log(buffer.toString()); }); });
希望本文所述对大家node.js程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
- node.js 使用crypto模块进行RSA加解密操作
- 使用node.js中的async模块进行数据库的同步操作
- node.js 使用fs模块对系统文件及目录进行读写操作
- 使用 Node.js 模拟滑动拼图验证码操作的示例代码
- iOS + node.js使用Socket.IO框架进行实时通信示例
- 使用ZLIB生成DLL文件,并进行有中文的ZIP文件压缩与解压操作!支持目录压与解!
- node.js使用 http-proxy 创建代理服务器操作示例
- node.js中process进程的概念和child_process子进程模块的使用方法示例
- node.JS二进制操作模块buffer对象使用方法详解
- node.js co模块使用示例
- nw.js node-webkit系列(15)如何使用内部模块和第三方模块进行开发
- Node.js Koa2使用JWT进行鉴权的方法示例
- node.js使用yargs处理命令行参数操作示例
- node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
- 使用brew进行Node.js Mac环境安装,示例LeanCloud
- node.js学习之事件模块Events的使用示例
- node.js学习笔记(二)--使用mongoose简单的CRUD操作及测试模块mocha的使用
- Node.js使用orm2进行update操作时关联字段无法修改的解决方法
- 使用Node.js,对mongodb数据库进行操作