Node.js 带有节点';s api/zlib I';我得到的错误是:-3,代码:';Z#u数据错误';

Node.js 带有节点';s api/zlib I';我得到的错误是:-3,代码:';Z#u数据错误';,node.js,zlib,compression,Node.js,Zlib,Compression,示例数据可以是,它是来自geonames.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 c

示例数据可以是,它是来自geonames.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 Unzip.Zlib._processChunk (zlib.js:526:30)
    at Object.<anonymous> (/tmp/test.js:6:6)
    at Module._compile (module.js:574:32)
    at Object.Module._extensions..js (module.js:583:10)
    at Module.load (module.js:491:32)
    at tryModuleLoad (module.js:450:12)
    at Function.Module._load (module.js:442:3)
    at Module.runMain (module.js:608:10)
    at run (bootstrap_node.js:382:7)

这是一个zip文件,不是gzip或zlib流。(请参阅。)zlib不处理zip文件。您需要修改或编写解析zip文件格式的代码

$ unzip -v ./allCountries.zip 
Archive:  ./allCountries.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
96309121  Defl:N 12668483  87% 2016-10-10 03:05 0666ed3f  allCountries.txt
--------          -------  ---                            -------
96309121         12668483  87%                            1 file