zoukankan      html  css  js  c++  java
  • 在Node.js中在保持目录结构的情况下压缩指定目录

    最近在做一个文件升级的功能,需要从下载服务器中指定目录下的文件。在学习了zlib后发现这个模块达不到这个功能

    在查找资料后发现后发现 archiver 模块很好用,不过我也发现大部分中文资料没有如果查询压缩进度,所以在此分享一下:

    archiver的github地址:

    https://github.com/archiverjs/node-archiver

    API文档地址:

    https://archiverjs.com/docs/

    压缩等级说明:

    var archive = archiver('zip', {
      zlib: { level: 9 } // Sets the compression level.
    });

    找了一下文档发现竟然没有说明压缩等级的说明,所以只好翻了一下源代码,找到之后复制到notepad+上,结果在写此文时不小心关掉了,参数不太确定。
    -1是默认
    0是最低(不太确认)
    9是最高

    获取进度信息:

    global.packageProgress={};
    archive.on('progress', function(progress) {
      console.log(progress);
      packageProgress=progress;
    });

    只需要绑定这个时间就可以了,事件都可以用这种方式来绑定,具体事件可以参考API文档。

    本人使用了2个get路由,第一个用来让node.js开始进行打包处理,设置一个globel变量,然后在绑定的progress事件中不断赋值。
    第二个则是返回进度信息用的。(前端轮询)

  • 相关阅读:
    汉语-词语:养生
    汉语-词语:道家美学
    汉语-词语:审美
    人物-书法家:王羲之
    人物-道家:庄子
    汉语-词语:含蓄
    关于finfo_file函数获取文件mime值验证出错的问题
    第一个Hello,OS World操作系统
    Lead软件项目半年感受
    Cts框架解析(15)-任务运行完
  • 原文地址:https://www.cnblogs.com/blueroses/p/8432452.html
Copyright © 2011-2022 走看看