NodeJS 如何使用zlib.gzipSync(buffer[,options])压缩文件,使用zlib.gunzipSync(buffer[,options])解压缩文件?

uqzxnwby  于 5个月前  发布在  Node.js
关注(0)|答案(1)|浏览(89)

大家好

我一直在思考如何在同步模式下使用zlib,(同步模式对我来说很重要)
我尝试过多次,但都失败了,节点文档不完全清楚,缺少使用示例

我想做的是:

一个功能,用于将包含一些数据的文本文件“myfile.txt”压缩为“Some text”,并将其保存为“myfile.txt.gz”

function zip(fullPathToFile){
  const zlib= require('zlib');

  //some cool stuff...using:

  zlib.gzipSync(buffer[, options])

}

字符串
将“myfile.txt.gz”解压缩为“myfile.txt”的函数

function unZip(fullPathToFile){
  const zlib= require('zlib');

  //some cool stuff...using:

  zlib.gunzipSync(buffer[, options])

}


都在同一个目录中
知道吗?
感谢所有的阅读和帮助时间

fsi0uk1n

fsi0uk1n1#

首先使用fs.readFileSync读取文件,然后使用其返回值(读取文件的Buffer)作为zlib.gzipSync的第一个参数。压缩后,使用其返回值(压缩数据的Buffer)写入文件,使用fs.writeFileSync

const fs = require("fs");
const zlib = require("zlib");

function zip(path) {
    let data = fs.readFileSync(path);
    data = zlib.gzipSync(data);
    fs.writeFileSync(`${path}.gz`, data);
}

字符串

解压缩时,将zlib.gzipSync替换为zlib.gunzipSync

相关问题