【发布时间】:2022-01-15 14:16:54
【问题描述】:
我会使用 NodeJS 使用尽可能少的 CPU 和内存来检查 ZIP 文件是否损坏。
如何损坏 ZIP 文件:
- 下载 ZIP 文件
- 使用像 Notepad++ 这样优化的文本编辑器打开 ZIP 文件
- 重写标题。只放随机字符。
我正在尝试使用 NPM 库“node-stream-zip”来实现这个目标
private async assertZipFileIntegrity(path: string) {
try {
const zip = new StreamZip.async({ file: path });
const stm = await zip.stream(path);
stm.pipe(process.stdout);
stm.on('end', () => zip.close());
} catch (error) {
throw new Error();
}
}
但是,当我运行单元测试时,我在数组中收到错误:
拒绝值:[错误]
【问题讨论】:
-
编辑您的问题,向我们展示
console.error(error)的输出 -
throw new Error();几乎毫无意义。您的catch块获取一个包含有用信息的错误对象,您只需将其丢弃并抛出一个空的错误对象,其中没有任何信息。我看不出有任何理由这样做。使用已经提供给您的错误对象,或者如果您要创建自己的错误对象,请从原始错误对象中放入一些有用的信息。
标签: javascript node.js zip