Tag: 解压缩

使用node.js zlib将压缩文件stream式传输到variables中

我试图将一个本地zip文件解压缩到node.js中的一个variables,如: var d; var fs = require('fs'); var zlib = require('zlib'); var zipPath='../../data/lemma/lemmatization-en.zip'; var zipExists=fs.existsSync(zipPath); console.log(zipPath,zipExists); fs.createReadStream(zipPath) .on('data', function (data){ d+=data.toString(); }) .on('end', function (){ console.log("read",d.length); zlib.inflate(d, {},function(err, buf) { console.error(err) console.log("unzip",buf.toString()); }) }) 该文件在这里 ,它是一个普通的zip文件。 当我运行这个我得到一个Error: incorrect header check错误。 尝试使用pipe道时出现同样的错误: fs.createReadStream(zipPath) .pipe( zlib.createUnzip() ) .on('data', function (data){ d+=data.toString(); }) .on('end', function (){ console.log("read",d.length); }) […]

解压缩Gzip JSON响应

我从Web服务获得GZIPtypes的压缩响应。 任何人都可以请帮助我如何解压缩或解码响应。 任何有关这方面的帮助将是非常有益的 谢谢

在Node.js中使用zlib进行解压缩会导致错误的头部错误

简而言之,我试图从我的文件系统中读取一个.zip文件,解压缩zip文件,然后用xml-stream将其与文件中的内容做一些事情。 我认为这将是相当简单的,并从这开始: var fs = require('fs') , XmlStream = require('xml-stream') , zlib = require('zlib'); //- read the file and buffer it. var path = '../path/to/some.zip'; var fileBuffer = fs.readFileSync(path, { encoding: 'utf8' }); //- use zlib to unzip it zlib.gunzip(fileBuffer, function(err, buffer) { if (!err) { console.log(buffer.toString()); } console.log(err); }); 但是这导致了一个 { [Error: incorrect header […]

下载解压缩上传clodinary

我正尝试下载一个ZIP文件,请求pipe道将其解压到node-unzip然后将其pipe理到cloudinary。 var stream = cloudinary.uploader.upload_stream(function(result) { console.log(result) }); request(file_url).pipe(unzip.Parse()).pipe(stream); //<– This do not work! ERROR: { error: { message: 'Empty file', http_code: 400 } } fs.createReadStream('my_picture.jpg').pipe(stream); //<– This works!

随着节点的API / ZLIB越来越errno:-3,代码:'Z_DATA_ERROR'

示例数据可以在这里findallCountries.zip ,这是邮政编码数据库formsgeonames.org。 我正在运行这个代码, const zlib = require('zlib'); const fs = require('fs'); const zip = fs.readFileSync('/tmp/allCountries.zip'); zlib.gunzip(zip, unzipData => console.log(unzipData) ); 我得到这个错误, { Error: incorrect header check at Zlib._handle.onerror (zlib.js:356:17) errno: -3, code: 'Z_DATA_ERROR' } 我也试过zlib.unzip ,它返回相同的错误,并像这样zlib.unzipSync , zlib.unzip(zip, unzipData => console.log(unzipData) ); 它返回这个堆栈转储, zlib.js:536 throw error; ^ Error: incorrect header check at Zlib._handle.onerror (zlib.js:356:17) at […]

如何使用nodejs的unzip2获得zip文件的条目列表

我正在使用unzip2模块https://github.com/glebdmitriew/node-unzip-2做zip文件stream解压缩,但获取zip条目,我有一个问题。 我的代码如下: var fs = require('fs'); var entries = []; var srcStream = fs.createReadStream('test.zip'); srcStream.pipe(unzip.Parse()) .on('entry', function(entry) { entries.push(entry.path); entry.autodrain(); }) .on('finish', function() { console.log(entries); }); 但是输出总是“[]”,看起来“完成”事件发生时,“进入”事件的操作没有完成。 有什么解决scheme,我可以得到所有的参赛名单?

如何从节点中的客户端提取zip

我有一个节点的应用程序,需要从客户端邮递员得到一些zip文件,并将其解压到我的文件系统中的一个文件夹,我使用快递我做了下面的工作, 我在这里错过了什么? 我已经创build了示例节点应用程序来模拟问题。 var express = require('express'); var upload = require('multer')({ dest: 'uploads/' }); var admZip = require('adm-zip'); var app = express(); app.post('/',upload.single('file'),function(req,res){ debugger; var zip = new admZip(req.file); zip.extractAllTo("C://TestFolder//TestPathtoExtract", true); res.send("unzip"); }); var server = app.listen(3001,function(){ var host = server.address().address; var port = server.address().port; console.log('Example app listening at http://%s:%s',host,port); }) 这是我使用它即时邮递员 如果还有其他方式可以用不同的开源代码来实现,那就太棒了! 我使用https://github.com/cthackers/adm-zip 这可以更改为任何其他库 […]

如何检查压缩types而不解压缩?

我在nodejs中编写代码来解压缩不同的文件types(如tar,tar.gz等)。 我没有可用的文件名。 目前我用暴力破解。 第一个成功的胜利.. 我想通过事先知道压缩types来改善这一点。 有没有办法做到这一点?

nodejs:从zip文件中只提取一个条目

我试图find一个高性能的方式从压缩文件中只提取一个条目。 命令行解压只是在数量级更快。 我尝试了adm-zip,它有一个方法来挑选一个条目。 我试过yauzl – 我使用readEntry光标,并检查每个path的文件名匹配。 是否有至less在性能相同的区域的nodejs选项? 谢谢

在nodejs中解压缩文件夹时无效的签名错误

我使用unzip节点模块解压缩我的binary-data (来自request模块)。 当request模块的response不包含zip文件夹binary data (如果响应没有zip文件夹数据,其他二进制数据),在某些情况下失败。 我如何处理这个例外。 const request = require("request"); const unzip = require('unzip'); const stream = require('stream'); var options = { method: 'GET', url: /*URL*/, encoding: null }; request(options, function (error, response, body) { zipExtract(error, body); }); zipExtract: function zipExtract(error, zipData) { if (error) { console.error(error); } else { try { //create stream object […]