我正在尝试为一个ZIP文件中的所有文件获取MD5校验和。我目前为此使用adm-zip,因为我可以读取压缩内容到内存中,而不必将文件解压缩到磁盘中。但我无法读取ZIP文件中条目的数据。我的代码如下:
var zip = new AdmZip(path);
zip.getEntries()
.map(entry => { console.log(entry.entryName, entry.data); });可以读取entryName,所以打开和读取zip就可以了。但data总是undefined。我读到data并不是读取条目数据的真正方法,但我不知道如何实际读取它。
发布于 2016-07-03 20:20:41
要读取条目的数据,必须调用entry对象的getData()方法,该方法返回一个Buffer。下面是在我的终端上工作的更新的代码片段:
var zip = new AdmZip(path);
zip.getEntries().map(entry => {
const md5Hash = crypto.createHash('md5').update(entry.getData()).digest('hex');
console.log(md5Hash);
});我使用基本的crypto模块来生成md5哈希(十六进制格式)。不要忘记将它添加到文件顶部的需求列表中:const crypto = require('crypto');
https://stackoverflow.com/questions/38169303
复制相似问题