如何知道 npm `unzip` 模块何时完成解压缩文件?

Posted

技术标签:

【中文标题】如何知道 npm `unzip` 模块何时完成解压缩文件?【英文标题】:How to know when npm `unzip` module has finished unzipping file? 【发布时间】:2016-06-09 20:25:44 【问题描述】:

我正在使用来自 npm 的 unzip 模块来提取 zip 存档的内容。我需要知道它何时完成提取并且文件已完全写入磁盘。

我的代码:

fs.createReadStream('master.zip').pipe(unzip.Extract( path: 'gitdownloads/repo' ));

我尝试过的:

我的第一个想法是我可以点击流并监听完成事件,但unzip 只接受输入:它不会返回另一个流。

我还查看了unzip 模块是否有“完成”回调。没有运气。

【问题讨论】:

【参考方案1】:

来自githubREADME

一旦 zip 的内容被提取,Extract 就会发出 'close' 事件 完全解压到磁盘。

你会想做这样的事情:

fs.createReadStream('master.zip')
  .pipe(unzip.Extract( path: 'gitdownloads/repo' ))
   .on('close', function () 
     ...
   );

【讨论】:

谢谢!拯救了我的一天:)

以上是关于如何知道 npm `unzip` 模块何时完成解压缩文件?的主要内容,如果未能解决你的问题,请参考以下文章

Centos7下unzip解压报错问题

如何用unzip一次解压多个.zip文件 三种方法

如何用unzip一次解压多个.zip文件 三种方法

linux中unzip命令解压时出现write error (disk full?). Continue?错误

unzip解压命令无法解压1.5g

linux下如何用unzip解压目录内所有zip文件?