此问题在此处已有答案:
Simplest way to download and unzip files in Node.js cross-platform?(13个回答)
44分钟前关闭
我正在制作一个Electron应用程序,它使用fetch和fs下载一个zip文件,然后使用zlib将其解压缩到一个文件夹中。然而,我一直得到这个错误:
Uncaught Error: incorrect header check at __node_internal_genericNodeError (node:internal/errors:867:15) at Zlib.zlibOnError [as onerror] (node:zlib:189:17)
字符串
在查找了一个小时之后,甚至试图让AI找到答案,我一直得到的回答是zip文件肯定被损坏了。然而,在检查了原始zip文件和下载的zip文件之后,两者都没有损坏。出了什么问题?这是我的脚本,如果它有帮助的话:
if(!fs.existsSync(destinationFolder)){
fs.mkdirSync(destinationFolder);
}
fs.createReadStream(zipFileLocation).pipe(zlib.createUnzip()).pipe(fs.createWriteStream(destinationFolder));
型
1条答案
按热度按时间dy1byipe1#
与zlib关联的“Unzip”对象命名不当。它将压缩zlib或压缩流。如果您拥有的实际上是一个zip文件,则zlib无法单独从中提取任何内容。您需要解码zip文件结构,然后仅将压缩后的数据馈送到zlib。
谷歌搜索显示adm-zip可以处理zip文件。