关于nodejs unzipper解压有密码zip很慢的问题

发布于 2022-09-12 02:15:00 字数 1295 浏览 20 评论 0

function unZipmi(zipPath, extractPath, password) {
            unzipper.Open.file(zipPath).then((d) => {
                return new Promise((resolve, reject) => {
                    for (i = 0; i < d.files.length; i++) {
                        const file = d.files[i]; console.log(file)
                        const tmpFilePath = extractPath + "/" + iconv.decode(file.pathBuffer, 'gbk');
                        if (file.type == "File") {
                            d.files[i].stream(password)
                                .pipe(fs.createWriteStream(tmpFilePath))
                                .on('finish', () => resolve(tmpFilePath))
                                .on('error', reject);
                        } else if (file.type == "Directory" && !fs.existsSync(tmpFilePath)) {
                            fs.mkdirSync(tmpFilePath);
                        }

                    }

                })
            }).then((path) => {
                console.log('file(s) written to ' + path);
            }).catch((e) => {
                console.log('error while processing archive', e);
            });
}
unZipmi('./un.zip', './temp', "abc123");

这是解压有密码zip文件的代码,想在NW.js里应用,但发现几十兆的文件超级慢,在官方文档里也没发现其它方法,不知有大神用过解压加密压缩包的方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷→糖丶微凉 2022-09-19 02:15:00

兄弟解决了吗

好倦 2022-09-19 02:15:00

请问楼主,又找到解决方案么?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文