nodejs解压zip/rar文件到本地,并获取到解压进度

news/2024/7/7 9:09:45/文章来源:https://www.cnblogs.com/wuhairui/p/18271977

方案:解压到本地的大小 / zip文件总大小(解压后的) ,得出解压进度

先得出解压后的文件大小,然后解压到本地

const AdmZip = require("adm-zip");
const JSZip = require('jszip');// 指定ZIP文件的路径
const admZip = new AdmZip("D:\\Users\\whr4220\\Downloads\\test (3).rar");
const zip = new JSZip();
// 解压目标目录
const extractPath = './downloads'// 获取ZIP文件中所有文件的列表
const entries = admZip.getEntries();
// console.log(admZip, entries)// 初始化已解压文件的总大小
let totalSize = 0;// 遍历所有文件,计算总大小
entries.forEach(entry => {totalSize += entry.header.size;
});
console.log('解压后的大小', totalSize)// 解压文件到指定目录
admZip.extractAllTo(extractPath, true);console.log('解压完成');
获取指定目录的大小,得出当前解压了多少
const fs = require('fs');
const path = require('path');//获取指定目录的大小
function getFolderSize(folderPath) {let totalSize = 0;fs.readdirSync(folderPath).forEach(file => {const filePath = path.join(folderPath, file);const stats = fs.statSync(filePath);if (stats.isFile()) {totalSize += stats.size;} else if (stats.isDirectory()) {totalSize += getFolderSize(filePath); // 递归调用
    }});return totalSize;
}// 使用函数
const size = getFolderSize('./downloads');
console.log('大小', size);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/732301.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

畅联云看视频卡顿、画质不清原因可能是一些参数没有配置对

在畅联云平台观看视频时,很多用户可能会遇到卡顿和画质不清晰的问题。这些问题往往由多种因素共同导致,包括网络带宽与传输质量、视频编码与压缩、服务器性能与负载均衡,以及视频源质量等。本文我们将重点说一下摄像机上面的一些可能影响视频卡顿和画质的参数。 打开摄像机w…

R语言独立成分分析fastICA、谱聚类、支持向量回归SVR模型预测商店销量时间序列可视化|附代码数据

全文链接:http://tecdat.cn/?p=31948 原文出处:拓端数据部落公众号 本文利用R语言的独立成分分析(ICA)、谱聚类(CS)和支持向量回归 SVR 模型帮助客户对商店销量进行预测。 首先,分别对商店销量的历史数据进行了独立成分分析,得到了多个独立成分;其次,利用谱聚类方法…

Profibus协议转Modbus协议网关模块在船舶中的应用

本文主要介绍了Profibus协议转Modbus协议网关模块(XD-MDPB100)在船舶中的应用。 Profibus转Modbus网关能实现Profibus总线和Modbus协议之间的数据转换与对接,为船舶系统之间的信息交换提供便利。一、背景 在当今数字化快速发展的时代,船舶作为重要的交通工具之一,也在不断…

sessionStorage 能在多个标签页之间共享数据吗?

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣 最近,我的一个朋友在面试中被一个关于 sessionStorage 的问题难住了。我们来聊聊这个话题。sessionStorage 能在多个标签页之间共享数据吗?在回答这个问题之前我们先来聊聊另一个存储API localstorage localstorage与s…

2024-06-27 java spring boot项目用maven打包报错:xxx-0.0.1-SNAPSHOT.jar中没有主清单属性

问题如下: 原因:打包文件pom.xml配置问题<skip>true</skip>不能为true!为true时,此处引用网友的解释: 在spring-boot-maven-plugin的配置中设置 <skip>true</skip> 时,实际上你告诉Maven在执行构建生命周期时跳过这个插件的运行。此插件负责将你的…

如何设计一个好的测试用例

如何理解一个“好的”测试用例? “好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能够发现缺陷无关。 举例子: 被测软件 --- 鱼塘 软件缺陷 --- 鱼 测试用例集 --- 渔网 “好的”测试用例集就是一张能够覆盖整个鱼塘的大鱼网,只要鱼塘里有鱼…

聚类模型的算法性能评价

一、概述作为机器学习领域的重要内容之一,聚类模型在许多方面能够发挥举足轻重的作用。所谓聚类,就是通过一定的技术方法将一堆数据样本依照其特性划分为不同的簇类,使得同一个簇内的样本有着更相近的属性。依不同的实现策略,聚类算法有很多种,如基于距离的k-means、基于密…

常见的域名劫持现象

在当今数字化的时代,互联网已经成为人们生活和工作中不可或缺的一部分。然而,随着网络的普及和发展,一些安全问题也逐渐浮现,域名劫持就是其中之一。域名劫持不仅会给用户带来不便,还可能导致严重的安全隐患。下面让我们来了解一些常见的域名劫持现象。 1、一种常见的域名…

SymPy-1-13-中文文档-十一-

SymPy 1.13 中文文档(十一)原文:docs.sympy.org/latest/index.html离散原文链接:docs.sympy.org/latest/modules/discrete.html在 SymPy 的discrete模块中实现了计算有限序列的离散变换和卷积的方法。 该模块包含对离散序列操作的函数。 Transforms - fft, ifft, ntt, intt…

SymPy-1-13-中文文档-十五-

SymPy 1.13 中文文档(十五)原文:docs.sympy.org/latest/index.html物理原文:docs.sympy.org/latest/reference/public/physics/index.html一个帮助解决物理问题的模块。 目录氢波函数矩阵泡利代数一维量子谐振子三维量子谐振子二次量子化Wigner 符号单位系统单位系统背后的…

SymPy-1-13-中文文档-七-

SymPy 1.13 中文文档(七)原文:docs.sympy.org/latest/index.html积分原文:docs.sympy.org/latest/modules/integrals/index.html本模块文档包含有关梅耶尔 G 函数和 SymPy 积分的详细信息。 内容使用梅耶尔 G 函数计算积分积分使用 Meijer G 函数计算积分docs.sympy.org/la…

克服指标管理痛点,实现数据价值最大化

在当下的企业管理中,由于数据量的激增,管理方式逐渐从基于经验转向基于数据。在此过程中,我们能够通过数据探查业务情况、分析数据,从而获取更优的决策支持数据。这通常通过数据报表或分析平台来实现,对于临时性场景,则会基于日常取数方式进行临时数据分析。 但在此过程中…

Ubuntu22.4环境下npm下载gdal失败

https://www.npmjs.com/package/gdal https://github.com/naturalatlas/node-gdal从错误日志来看,安装gdal模块时遇到了几个问题,导致安装失败。以下是几个关键点:缺少预构建二进制文件: node-pre-gyp ERR! install response status 404 Not Found on https://github.com/n…

SymPy-1-13-中文文档-二十八-

SymPy 1.13 中文文档(二十八)原文:docs.sympy.org/latest/index.html数域原文链接:docs.sympy.org/latest/modules/polys/numberfields.html引言像代数数论中许多其他计算一样,有理素数的分裂只能用有理方法处理。如果考虑用自动计算设备进行计算,这一事实非常重要。只需…

SymPy-1-13-中文文档-二十-

SymPy 1.13 中文文档(二十)原文:docs.sympy.org/latest/index.html控制系统绘图原文:docs.sympy.org/latest/modules/physics/control/control_plots.html该模块包含用于控制系统中一些常见绘图的绘图函数。如果用户需要绘图,则需要外部依赖 Matplotlib。如果仅需获得绘图…

SciPy-1-12-中文文档-十八-

SciPy 1.12 中文文档(十八)原文:docs.scipy.org/doc/scipy-1.12.0/index.htmlscipy.special.fdtr原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.fdtr.html#scipy.special.fdtrscipy.special.fdtr(dfn, dfd, x, out=None) = <ufunc fdtr>F…

Centos7在已有python3.6的基础上安装python3.8

需要系统带有gcc和make wget http://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz tar -zxvf Python-3.8.13.tgz sudo mkdir -p /usr/local/python3.8 cd Python-3.8.13/# --prefix表示把编译好的python放到哪个地方 ./configure --prefix=/usr/local/python3.8 --enab…

zabbix提示链接数过多

一、先进入mysql查看连接数是多少mysql -uroot -p 输入密码 show variables like max_%; #查询连接 默认是一100, 二、改修msyql连接参数‘,先查配置文件在哪里mysql --help|morevim /etc/my.cnf.d/mysql-server.cnfmax_connections=1000 #新增这条参数 再重启一下mysq…

npm install pnpm问题解决方法

安装npm install -g pnpm 正确配置环境变量 在cmd输入: Start-Process powershell -Verb runAs 设置缓存路径: npm config set prefix "E:\nodejs\node_global"npm config set cache "E:\nodejs\node_cache" 解决方法: 设置执行策略: 检查策略: Get-E…

代理时响应头大小写区别

配置代理访问非代理访问