sho*_*a T 10 javascript unzip node.js express
我使用以下开源解压缩文件及其工作正如预期的拉链大小2-5 MB,但当我把zip放在10多MB上我有错误,有更稳定的开源我可以用于大型zip文件?我需要它在MIT许可下.这就是我用过的 https://github.com/EvanOxfeld/node-unzip
var extractor = unzip.Extract({ path: "../"});
extractor.on("close", function() {
console.log("Success unzip");
});
extractor.on("close", function(err) {
console.log(err);
});
req.pipe(extractor);
Run Code Online (Sandbox Code Playgroud)
根据本期unzip github页面的问题 - https://github.com/EvanOxfeld/node-unzip/issues/73,
尝试
npm install unzip2
Run Code Online (Sandbox Code Playgroud)
您还可以尝试其他拉链MIT模块:
你也可以找到这个库 - https://www.npmjs.com/package/yauzl,它解释了为什么'zip'文件格式不太适合流媒体.
https://www.npmjs.com/package/yauzl#no-streaming-unzip-api
由于.zip文件格式的设计,不可能在不牺牲正确性的情况下从头到尾解释.zip文件(例如从可读流中解释).中央目录是.zip文件内容的权限,位于.zip文件的末尾,而不是开头.流式API需要缓冲整个.zip文件以在解释任何内容之前到达中央目录(无法实现流式接口的目的),或者依赖于散布在.zip文件中的本地文件头.但是,本地文件标题在规范中明确被谴责为中央目录的不可靠副本,因此信任它们将违反规范.
任何提供流式解压缩API的库都必须做出上述两种妥协之一,这会使库不诚实或不一致(通常是后者).该库坚持正确性和遵守规范,因此不提供流API.
在NPM上有"解压缩"的354个结果 - https://www.npmjs.com/search?q=unzip
无论您选择哪个库,请确保首先使用此库编写node.js程序,该程序库直接从文件系统中提取您错误的zip文件的内容.
一旦此方法有效,您将能够添加Web服务器的额外复杂性.
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |