推荐一个极其简单、及其好用的node.js的压缩和解压缩类库  compressing

支持格式: tar、gzip、tgz、zip

以zip为例,tar,tgz和gzip与zip相同。

压缩文件:

const compressing = require('compressing');
compressing.zip.compressFile('logs/info-2018-06-07.log', 'logs/test.zip').then(() => {}).catch(() => {}); //或者
await compressing.zip.compressFile('logs/info-2018-06-07.log', 'logs/test.zip')

压缩文件夹:

const compressing = require('compressing');
compressing.zip.compressDir('logs', 'test3.zip').then(()=>{}).catch(()=>{}); //或者
await compressing.zip.compressDir('logs', 'test3.zip')

使用Stream压缩多个文件(非常强大)

const fs=require('fs');
const compressing = require('compressing');
const zipStream = new compressing.zip.Stream();
zipStream.addEntry('./logs/error-2018-06-07.log')
zipStream.addEntry('./logs/info-2018-06-07.log') const destStream = fs.createWriteStream('test4.zip'); const pipe = require('multipipe');
pipe(zipStream, destStream, (err) => {
console.log(err);
})

Stream可以是dir、file、buffer、stream

// dir
zipStream.addEntry('dir/path/to/compress'); // file
zipStream.addEntry('file/path/to/compress'); // buffer
zipStream.addEntry(buffer); // stream
zipStream.addEntry(stream);

解压缩:

const compressing = require('compressing');
compressing.zip.uncompress('test3.zip', 'test3').then(() => {}).catch(() => {});
//或者
await compressing.zip.uncompress('test3.zip', 'test3') //如果要解压到当前目录换成 './'

更多内容:

https://github.com/node-modules/compressing

https://www.npmjs.com/package/compressing

node.js压缩和解压缩的更多相关文章

  1. Huffman 压缩和解压缩java实现

    附上完整的代码 http://download.csdn.net/download/u010485034/7847447 Huffman编码原理这里就不说了,是.这里来讲讲利用Huffman编码来进行 ...

  2. Linux下的压缩和解压缩命令——gzip/gunzip

    gzip命令 gzip命令用来压缩文件.gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处".gz"扩展名. gzip是在Linux系统中经常使用的一个对文件进行压 ...

  3. Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

    1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件   ...

  4. [Java 基础] 使用java.util.zip包压缩和解压缩文件

    reference :  http://www.open-open.com/lib/view/open1381641653833.html Java API中的import java.util.zip ...

  5. 关于webservice大数据量传输时的压缩和解压缩

    当访问WebSerivice时,如果数据量很大,传输数据时就会很慢.为了提高速度,我们就会想到对数据进行压缩.首先我们来分析一下. 当在webserice中传输数据时,一般都采用Dataset进行数据 ...

  6. 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期

    [源码下载] 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的 ...

  7. IOS开发之网络编程--文件压缩和解压缩

    前言: QQ表情包就用到了解压缩,从网络下载的那么多表情文件格式并不是一个一个图片文件,而是多个图片压缩而成的表情压缩包.下面介绍的是iOS开发中会用到的压缩和解压缩的第三方框架的使用. 注意: 这个 ...

  8. 压缩和解压缩gz包

    gz是Linux和OSX中常见的压缩文件格式,下面是用java压缩和解压缩gz包的例子 public class GZIPcompress { public static void FileCompr ...

  9. 在C#中利用SharpZipLib进行文件的压缩和解压缩收藏

    我在做项目的时候需要将文件进行压缩和解压缩,于是就从http://www.icsharpcode.net(http://www.icsharpcode.net/OpenSource/SharpZipL ...

随机推荐

  1. linux上使用tomcat及查看日志

    启动 startup.sh #执行bin/startup.sh #启动tomcatbin/shutdown.sh #停止tomcattail -f logs/catalina.out #看tomcat ...

  2. docker 自定义镜像

    step1:自定义镜像 原镜像 registry.aspider.avlyun.org/library/php-apache docker run -d --name xz_apache regist ...

  3. 安装GCC-8.3.0及其依赖

    目录 目录 1 1. 前言 1 2. 安装日期 1 3. GCC国内镜像下载地址 2 4. GCC的依赖库 2 4.1. gmp库 2 4.2. mpfr库 2 4.3. mpc库 2 4.4. m4 ...

  4. css和js带参数v或version

    1 <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?versi ...

  5. JavaWeb学习笔记(十)—— JavaBean总结【转】

    一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...

  6. I/O设备

    I/O(Input/Output)设备是指与计算机进行数据传输的硬件,具体分为字符设备.块设备.网络设备. 字符设备 字符设备(character device),又叫做人机交互设备.用户通过这些设备 ...

  7. java8 方法引用与lambda

    List<String> list = new ArrayList<>(); //list.stream().filter((String s)->System.out. ...

  8. PHP二次开发

    一.CMS类 如:phpcms.dedecms.empirecms.wordprss drupal joomla 二.shop类 如:ecshop eschopx  shopnc emall  mag ...

  9. [转] 一个简单的零配置命令行HTTP服务器 - http-server (nodeJs)

    [From] http://www.cnblogs.com/lucker/p/4108838.html http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不 ...

  10. [转] NOI, NOIP, IOI, ACM

    [From] http://blog.csdn.net/chenbean/article/details/38928243 NOI是教育部和中国科协委托中国计算机学会举办了全国青少年计算机程序设计竞赛 ...