nodejs压缩文件夹
时间: 2023-08-02 10:10:40 浏览: 130
nodejs 复制和压缩文件
你可以使用Node.js中的`zlib`模块来压缩文件夹,以下是一个简单的示例代码:
```javascript
const fs = require('fs');
const zlib = require('zlib');
const archiver = require('archiver');
// 要压缩的文件夹路径
const folderPath = './myFolder';
// 压缩后的文件名和路径
const zipFileName = 'myFolder.zip';
const zipFilePath = './' + zipFileName;
// 创建一个可写流来写入压缩文件
const output = fs.createWriteStream(zipFilePath);
// 创建一个archiver对象来压缩文件夹
const archive = archiver('zip', {
zlib: { level: 9 } // 设置压缩级别
});
// 将可写流pipe到archiver对象中
archive.pipe(output);
// 将文件夹添加到archiver对象中
archive.directory(folderPath, false);
// 完成压缩并关闭可写流
archive.finalize();
output.on('close', () => {
console.log(`${zipFileName} 压缩完成,压缩前大小:${archive.pointer()}字节,压缩后大小:${output.bytesWritten}字节`);
});
output.on('end', () => {
console.log(`${zipFileName} 写入完成`);
});
output.on('error', (err) => {
console.error(`写入 ${zipFileName} 失败:${err}`);
});
```
该代码使用`archiver`库来创建一个zip压缩文件,并将指定的文件夹添加到其中。在压缩完成后,它将打印压缩前后的文件大小。
阅读全文