Node.js 解压 带密码的zip
时间: 2024-09-13 08:13:05 浏览: 66
Node.js 中解压带密码的ZIP文件通常需要借助第三方库,如 `adm-zip` 或者 `pako` 等。以下是使用 `adm-zip` 库的一个示例:
首先,你需要安装这个库:
```bash
npm install adm-zip
```
然后,在你的 Node.js 代码中解压带密码的 ZIP 文件可以这样做:
```javascript
const AdmZip = require('adm-zip');
async function unzipPasswordProtectedZip(zipFilePath, password) {
try {
const zip = new AdmZip(zipFilePath);
// 设置解压密码
zip.setPassword(password);
// 获取包含所有文件信息的目录
const entryNames = zip.getEntries().map(entry => entry.entryName);
// 遍历并解压每个文件
for (let entry of entryNames) {
if (!entry.startsWith('/')) { // 忽略根目录
zip.extractEntry(entry, './', true); // 提取到当前目录,true表示保留文件属性
}
}
console.log('Unzipping completed.');
} catch (err) {
console.error('Error occurred while unzipping:', err.message);
}
}
// 使用函数,传入ZIP文件路径和密码
unzipPasswordProtectedZip('path/to/your.zip', 'your-password');
```
注意替换 `zipFilePath` 和 `password` 为你实际的文件路径和密码。
阅读全文