1
示例數據可以是found here allCountries.zip,這是郵政編碼數據庫表單geonames.org。使用node的api/zlib我得到errno:-3,代碼:'Z_DATA_ERROR'
我運行此代碼,
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)
我使用的是v7.0.0-test2016100609987d242b
,但我已經證實這與v6.7.0
的結果是一樣的。該檔案可以用gunzip -c
和unzip
正確提取。
$ 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