【发布时间】:2012-07-30 13:42:09
【问题描述】:
我正在使用 node.js 构建 webapp 的服务器部分。这涉及从 thetvdb.com (API documentation of thetvdb) 获取数据。 数据以 zip 文件的形式提供。 HTTP 下载是没有问题的,但是,解析文件是。我实际上从不保存文件,而只是将它保存在内存中,正如How to download and unzip a zip file in memory in NodeJs?中所建议的那样
我有一个包含有效数据的缓冲区(与我使用浏览器/curl 下载文件时的数据相同...)。但是,adm-zip(我也厌倦了其他 zip 库,有些建议无效的 zip 长度)无法打开它。它没有显示错误,但最后的 zipEntries 长度为 0。 当我将缓冲区写入文件系统并使用 gui 或 cli 工具打开它时,它可以工作。
我无法提供该文件的直接链接,因为它会涉及我的 API 密钥,但我重新上传了它here。
【问题讨论】:
-
添加一些代码说明您如何使用
adm-zip。您的问题可能是您在on('data', ...)中解压缩而不是等待on('end', ...),但我们需要查看一些代码来帮助您。 -
我使用与我链接的另一个问题中接受的答案相同的代码。 (stackoverflow.com/questions/10359485/…)