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

问题描述 投票:0回答:1

大家好

我一直在想在同步模式下使用zlib,(对我来说是很重要的同步模式)

我试了很多次都失败了,节点文档不完全清楚,也缺少使用实例。

我打算做的是。

一个压缩文本文件 "myfile.txt "的函数 它包含了一些文本数据 作为 "一些文本",并保存为 "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])

}

都在同一个目录下

有什么想法?

谢谢大家的阅读和帮助

node.js gzip zlib unzip
1个回答
1
投票

我首先使用 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.gzipSynczlib.gunzipSync 是你唯一需要做的编辑。

© www.soinside.com 2019 - 2024. All rights reserved.