JSzip解压压缩包、下载压缩包内文件

废话不多说,直接上代码

1、所需物料准备

1、jszip.min.js               仓库地址:https://github.com/Stuk/jszip
                                      CDN地址:https://cdn.bootcdn.net/ajax/libs/jszip/3.10.0/jszip.min.js
2、FileSaver.min.js       仓库地址:https://github.com/eligrey/FileSaver.js
                                      CDN地址:https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js

2、准备好所需物料后废话不多说,可以上代码了

<body><input id="uploadFile" type="file"  onchange="changeFile()" /><script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.10.0/jszip.min.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script><script>function changeFile() {const uploadFileEle = document.querySelector("#uploadFile");let file = uploadFileEle.files[0];JSZip.loadAsync(file).then((res) => {console.log(res.files);res.forEach((ele, obj) => {if (!obj.dir) {//判断是否为文件/**转换成Base64方式,根据需求引用let binary = '';let bytes = obj._data.compressedContent;for (let index = 0; index < bytes.length; index++) {const element = bytes[index];binary += String.fromCharCode(element);}binary = window.btoa(binary);*/// 压缩包内文件名称let fileName = obj.name;//压缩包内文件大小let unsize = obj._data.uncompressedSize / 1024;let fileSize = unsize.toFixed(2) + "KB";//下载操作let base = res.file(obj.name).async('blob');base.then(rr => {saveAs(rr, obj.name);})}})})}</script>
</body>

3、温馨提示

1、代码可自行复制测试,下载操作根据实际需求更改即可
2、上述代码文件上传没做类型限制,本人在测试过程中发现:.apk,.zip,.rar可读取包内文件。.7z是不支持的哇
3、如压缩包内文件命名为中文是,解压出来文件名可能显示乱码,下载后重命名即可。

JavaScript在线解压 ZIP 文件 JavaScript 怎样在线解压 ZIP,jszip实现解压压缩包,并下载压缩包内文件相关推荐

  1. bash脚本 文件_如何使用Bash脚本来管理从AWS S3存储桶下载和查看文件

    bash脚本 文件 As you can read in this article, I recently had some trouble with my email server and deci ...

  2. 优雅的使用tg机器人自动下载频道内文件

    笔记本出问题了,现在没法继续写我的自动下载机器人了 于是在GitHub找到了一个同样好用的机器人源码 脚本需要python3.6以上环境,具体安装教程自行搜索. 测试环境 Ubuntu 18.04.5 ...

  3. java读取zip文件名_java无需解压zip压缩包直接读取包内的文件名(含中文)

    java自带了java.util.zip工具可以实现在不解压zip压缩包的情况下读取包内文件的文件名:(注:只能是ZIP格式的,rar我试了不行)代码如下: public static String ...

  4. 怎么设置internet才能下载JAVA_如何使用Java从Internet下载和保存文件?

    我需要获取一个在线文件(例如http://www.example.com/information.asp )并将其保存到目录中. 我知道有几种逐行捕获和读取在线文件(URL)的方法,但是有没有一种方法 ...

  5. python web项目导出zip文件_通过javascript在网页端生成zip压缩包并下载

    zip.js是什么 通过zip.js封装一个能在网页端生成zip文件的插件, 直接在网页中创建包含文件夹和文件的压缩包,也可以自定义名字并下载: 如何使用: 1:引用zip.js 2:引用jQuery ...

  6. java zip压缩 加密码_java 压缩成zip文件、解压zip文件(可设置密码)

    1.情景展示 java实现将文件夹进行压缩打包的功能及在线解压功能 2.解决方案 方式一:压缩.解压zip 准备工作:slf4j-api.jar org.slf4j slf4j-api 1.7.25 ...

  7. vue前台导出zip文件_在Vue.js中使用JSZip实现在前端解压文件的方法_心病_前端开发者...

    1.在 action="//jsonplaceholder.typicode.com/posts/" :before-upload="handleBefore" ...

  8. python zipfile压缩的文件用shell命令解压_Python学习第177课——bzip2、zip方式压缩文件和解压文件...

    之前我们学习了tar打包.解包.gzip压缩,现在我们学习gzip解压. ●gzip解压 现在我们把上节生成的压缩文件linux_compressed.gz进行解压,使用命令: tar -xzf li ...

  9. linux+shell+解压命令,Shell命令 文件压缩解压缩之gzip、zip详解

    本篇文章的主要内容讲述的是shell命令中之文件压缩解压缩之gzip.zip,具有一定参考价值,感兴趣的朋友可以了解一下,希望对你有所帮助. 1.gzip:gzip压缩工具 gzip命令的功能说明: ...

  10. linux中zip文件编码错误,解决linux下zip文件解压乱码问题

    原标题:解决linux下zip文件解压乱码问题 解决linux下zip文件解压乱码问题 原因 由于zip格式并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此, ...

最新文章

  1. Dubbo原码解析(version:2.5.3)
  2. Android第十期 - 百度地图
  3. LoadRunner中添加weblogic监视器(JMX)
  4. OpenCV 发起 Spatial AI挑战赛
  5. CCNA2.0笔记_ACL
  6. c++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取,C++综合练习题2...
  7. 浅谈SkyEye虚拟ECU
  8. 如何对报表的参数控件赋值
  9. 【笔试/面试】—— Linux(块设备与字符设备/cron 和 crontab)
  10. android之camera2预览
  11. 农村三资管理平台app_农村三资管理系统功能
  12. oracle基本操作语句大全
  13. classes是什么意思怎么读_class是什么意思_class的翻译_音标_读音_用法_例句_爱词霸在线词典...
  14. 毕业设计_Android短信查询及加密系统_短信查询
  15. python txt文本转json格式
  16. SpringBoot 统一功能处理
  17. android实习日志_【安卓开发实习生工作总结_安卓开发实习生个人年终总结】-看准网...
  18. 漏洞扫描的原理与应用
  19. 6级20190601
  20. MTK9652处理器怎么样

热门文章

  1. 如何用matlab解决数学建模中的报童问题
  2. [软件更新]CuteFTP 8.3.3.0054
  3. oracle财务官方文档,oracle财务软件简明操作.docx
  4. 基于Multisim的220v转12v典型开关电源电路仿真
  5. Charles抓包微信小程序数据
  6. C# ajax上传图片
  7. 渐近记号(Asymptotic Notations)
  8. 大气压力换算公式_大气压换算公式(大气压与温度换算公式)
  9. 学习总结:Handler机制
  10. ORL Face94 LFW