node-stream-zip 是查看和提取大型 ZIP 文件的 Node.js 库。
特性:
从不加载完整的归档到内存,一切都是通过块读取
大型归档支持
所有操作都是非阻塞,非同步 i/o
快速初始化
无依赖,无二进制组件
内置 zlib 模块解压
deflate, deflate64, sfx, macosx/windows 内置归档
ZIP64 支持
$ npm install node-stream-zip
var StreamZip = require('node-stream-zip'); var zip = new StreamZip({ file: 'archive.zip', storeEntries: true }); zip.on('error', function(err) { /*handle*/ }); zip.on('ready', function() { console.log('Entries read: ' + zip.entriesCount); // stream to stdout zip.stream('node/benchmark/net/tcp-raw-c2s.js', function(err, stm) { stm.pipe(process.stdout); }); // extract file zip.extract('node/benchmark/net/tcp-raw-c2s.js', './temp/', function(err) { console.log('Entry extracted'); }); // extract folder zip.extract('node/benchmark/', './temp/', function(err, count) { console.log('Extracted ' + count + ' entries'); }); // extract all zip.extract(null, './temp/', function(err, count) { console.log('Extracted ' + count + ' entries'); }); // read file as buffer in sync way var data = zip.entryDataSync('README.md'); }); zip.on('extract', function(entry, file) { console.log('Extracted ' + entry.name + ' to ' + file); }); zip.on('entry', function(entry) { // called on load, when entry description has been read // you can already stream this entry, without waiting until all entry descriptions are read (suitable for very large archives) console.log('Read entry ', entry.name); });
1、系统处理缓存的方式 (1)传统方式:先将数据全部读入缓存(内存),然后再进行处理。 优点:符合人的思维方式,流程比较流程 缺点:对于数据量很大的文件,处理效率低下 (2)数据流方式:读一块,处理一块。将待处理的数据分隔成一块一块的,像流水一样,每当有新的数据块进入内存时,它会触发一个事件,程序就从内存中获取新数据进行处理。 优点:程序处理数据的效
node-stream-zip库是一款非常棒的zip文件压缩库,使用方便,能解压非标准格式的ZIP文件,经过对比,使用起来比 hzip,unzipper,zip-local等库要方便很多,并且支持同步方法和异步方法。并且和adm-zip一样,支持解压制定文件和目录,adm-zip不能解压非标准的zip文件,例如APK文件。 功能特性 不加载整个文档到内存,内容按块读取 支持大文件 非阻塞读取,没有
NodeJS 文件(夹)压缩/解压方案(zip/unzip)-Linux上zip相关命令 Use adm-zip adm-zip支持archive和unarchive一个或多个文件或者整个文件夹的功能,使用非常的简单方便。 var adm_zip = require('adm-zip'); //creating archives var zip = new adm_zip(); zip.ad
推荐插件 1、node-stream-zip node-stream-zip文档参考:https://github.com/antelle/node-stream-zip 2、adm-zip adm-zip文档参考:https://github.com/cthackers/adm-zip/wiki/ADM-ZIP 对比两个插件后发现 node-stream-zip 更为轻量、adm-zip 功能更
一、压缩文件 1.1压缩文件需要用到得模块是 archiver(下载量蛮高得几百万每周) 文档地址:https://www.npmjs.com/package/archiver 1.2 安装 npm install archiver --save 1.3示例代码 const archiver = require('archiver') const fs = require('fs') cons
var fetch = require("node-fetch"); var fs = require("fs"); function download(u, p) { return fetch(u, { method: 'GET', headers: { 'Content-Type': 'application/octet-stream' },
问题内容: 我正在开发一个简单的php上传脚本,用户只能上传ZIP和RAR文件。 我应该使用哪些MIME类型检查?(请提供完整清单) 谢谢.. 问题答案: 来自freedompeace,Kiyarash和Sam Vloeberghs的答案: 我也会检查文件名。这是检查文件是RAR还是ZIP文件的方法。我通过创建一个快速的命令行应用程序对其进行了测试。 请注意,它仍然不能100%确定,但是可能已经足
本文向大家介绍python查看zip包中文件及大小的方法,包括了python查看zip包中文件及大小的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python查看zip包中文件及大小的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。
问题内容: 我正在尝试将 文件 从 一个文件夹 保存到 另一个 文件夹 。 zip文件夹 放置在其他目录中。而且我编写了以下代码: archive.php 但是可惜我无法创建.zip文件夹。我错过了任何一步吗? 问题答案: TEST是您的项目文件夹名称。 您可以根据需要定义路径。
问题内容: 我目前正在尝试针对更大的csv文件(3.000.000行)使用大量的ID(〜5000)。 我想要所有包含ID文件中ID的csv行。 我的幼稚方法是: 但这需要永远! 有没有更有效的方法来解决这个问题? 问题答案: 尝试 另外,由于您的模式似乎是固定的字符串,因此提供选项可能会加快速度。
我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总
问题内容: 我正在尝试将一些文件添加到ZIP文件中,它会创建文件,但不会在其中添加任何内容。代码1: 我的功能: 编辑: 我发现了问题,只是在将文件从C:\驱动器写入F:\驱动器的ZIP时遇到麻烦 问题答案: 您不能压缩文件夹,只能压缩文件。要压缩文件夹,必须手动添加所有子文件。我写了本课来完成这项工作。您可以免费获得它:) 用法是这样的: 这是课程: 请享用! 编辑 :要检查程序是否仍在忙,可以