Vue实现zip压缩下载

 1,安装依赖npm

//jszip是一个用于创建、读取和编辑.zip文件的JavaScript库
https://stuk.github.io/jszip/
npm install jszip   
https://www.npmjs.com/package/file-saver
npm install file-saver

2,在所需的页面中引入对应包

import JSZip from "jszip";
import FileSaver from "file-saver";

3,执行打包方法

arrImages:[{fileUrl:'图片地址',renameFileName:'图片名'}]
filename:'打包名'
this.filesToRar(arrImages, "相册");
filesToRar(arrImages, filename) {let _this = this;let zip = new JSZip();let cache = {};let promises = [];let times = 1;var setIme = setInterval(() => {times++;console.log(times);}, 1000);for (let item of arrImages) {const promise = _this.getImgArrayBuffer(item.fileUrl).then(data => {// 下载文件, 并存成ArrayBuffer对象(blob)zip.file(item.renameFileName, data, { binary: true }); // 逐个添加文件cache[item.renameFileName] = data;});promises.push(promise);}Promise.all(promises).then(() => {zip.generateAsync({ type: "blob" }).then(content => {// 生成二进制流FileSaver.saveAs(content, filename); // 利用file-saver保存文件  自定义文件名this.$notify.close();this.$notify({message: "压缩完成"});window.clearInterval(setIme);});}).catch(res => {this.$notify({message: "文件压缩失败"});});},//获取文件blobgetImgArrayBuffer(url) {let _this = this;return new Promise((resolve, reject) => {let xmlhttp = new XMLHttpRequest();xmlhttp.open("GET", url, true);xmlhttp.responseType = "blob";xmlhttp.onload = function() {if (this.status == 200) {resolve(this.response);} else {reject(this.status);}};xmlhttp.send();});},

效果:

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

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

相关文章

【启明智显分享】智能音箱AI大模型一站式解决方案重塑人机交互体验,2个月高效落地

2010年左右,智能系统接入音箱市场,智能音箱行业在中国市场兴起。但大潮激荡,阿里、小米、百度三大巨头凭借自身强大的资本、技术、粉丝群强势入局,形成三足鼎立态势。经过几年快速普及,智能音箱整体渗透率极高&#xf…

【课件分享】电子档案库房——构筑档案数字资源长期保存的安全防线

关注我们 - 数字罗塞塔计划 - 如此重磅的会议,如此高能的干货,小编已经迫不及待第一时间分享给大家,一起来看看杨博士在学术交流活动上的演讲内容吧。 01 课件分享 一、背景现状 二、总体设计 详细视频请在公众号中观看 三、解决方案 四、应…

汽车线束品牌服务商推荐-力可欣:致力于汽车连接线束和汽车连接器的开发、生产和应用

汽车线束品牌服务商推荐-力可欣:致力于汽车连接线束和汽车连接器的开发、生产和应用

安卓13 背光调节非线性问题处理,调节范围不正常问题

总纲 android13 rom 开发总纲说明 目录 1.前言 2.问题分析 3.代码修改 4.彩蛋 1.前言 我们看看现在的版本的亮度图 2.问题分析 当背光亮度设置为0%时,每次按下亮度增加键或者 input keyevent BRIGHTNESS_UP,亮度UI的增幅较大,首次按下后亮度平滑提升至大约55%,随后继…

深入调研亚马逊云科技AI平台Amazon Bedrock热门开发功能

国际数据公司(IDC)在2024 年 8 月发布了《 中国大模型平台市场份额, 2023 :大模型元年——初局 》调研报告 。IDC的数据显示,2023年中国大模型平台及相关应用市场规模达惊人的17.65亿元人民币,且科学计算大…

售后更新出现问题分析-幂等和防重

2024-08-27 早上测试提交BUG,说售后单状态流转不对,吓得我一激灵,赶紧打开IDEA 查看代码,发现售后这块代码没有动过呀,咋回事? 流程是这样的: 测试模拟用户下单,提交订单后付款,然后…

基于顺序表实现通讯录功能项目

本文通过顺序表实现通讯录的功能,增删查改数据 首先实现顺序表的功能,再用顺序表实现通讯录的功能 顺序表中的成员为一个结构体对象con,自定义的类型,里面包含着联系人的姓名性别年龄电话地址 seqlist.h:顺序表头文…

摩尔线程 × 智汇云舟|打造视频孪生国产解决方案

近日,摩尔线程与国内数字孪生头部企业和视频孪生首倡者智汇云舟达成深度战略合作,双方将在技术融合、产品共创和市场推广领域加强合作,共同研发面向未来的视频孪生国产化解决方案,推动视频孪生技术在国内关键领域的应用落地&#…

闲置物品|基于SprinBoot+vue的校园闲置物品交易平台(源码+数据库+文档)

校园闲置物品交易平台 目录 基于SprinBootvue的校园闲置物品交易平台 一、前言 二、系统设计 三、系统功能设计 5.1系统功能实现 5.2管理员模块实现 5.3用户模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xf…

ZBrush入门使用介绍——11、边缘环

大家好,我是阿赵。   继续介绍ZBrush的用法。这次看看边缘环的使用方法。我个人的感觉,边缘环有点类似于3DsMax之类软件的挤出功能,可以沿着环形的面,添加凹凸效果。   边缘环工具入口在几何体编辑里面: 一、 边…

【python3.8安装报错】lmportError: DLL load failed while importing ft2font: 找不到指定的模块

客户需求背景: 安装python3.8无法运行,报错 lmportError: DLL load failed while importing ft2font: 找不到指定的模块 考虑兼容性问题 这个问题首先需要考虑的是是否是python版本太高了,因为python3.9不支持win7,而python3.8版…

arm64--异常处理与中断处理

一、异常等级 EL0 非特权模式,用于运行应用程序 EL1为特权模式,用于运行操作系统内核 EL2用于运行虚拟化管理程序 EL3用于运行安全世界的管理程序 二、同步异常与异步异常 1. 同步异常:处理器执行某条指令而直接导致的异常,…

有效提高媒体曝光率,智能推荐为什么是“最大的计算系统之一”?

导语:我认为很少有人意识到,推荐系统是世界上构想过的最大的计算系统之一。——Jensen Huang  在信息过载的时代背景下,智能推荐系统已广泛应用于电子商务、社交媒体、新闻资讯、视频音乐、旅游出行等领域,为用户提…

力扣经典题目之->单值二叉树(递归判断)

一:题目 本博客采用此模型: 二:思路 单值二叉树即所有值相等的二叉树 1:递归的大事化小思路即: 将当前节点与它的左右子节点进行比较,如果不相等,则直接返回false。如果相等,则递归…

记一次 .NET某实验室自动进样系统 崩溃分析

一:背景 1. 讲故事 前些天有位朋友在微信上联系到我,说他们的程序在客户那边崩掉了,让我帮忙看下怎么回事,dump也拿到了,那就上手分析吧。 二:WinDbg 分析 1. 哪里的崩溃 既然是程序的崩溃&#xff0c…

基于状态机实现WIFI模组物联网

1.0 状态机框架原理 如果成功的话就连接热点,如果失败就返回AT通信检查,如果AT通信检查还是失败就放回硬件复位这个状态,如果热点链接成功,就连接MQTT指令,如果失败就返回AT通信检查,如果成功就连接云平台通…

MySQL集群技术

一、MySQL部署 1.源码编译 实验环境为rhel7 安装依赖性 [rootmysql-node1 ~]# yum install cmake gcc-c openssl-devel \ ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen.x86_64 -y [rootmysql-node1 ~]# tar zxf mysql-boost-5.7.44.tar.gz 源码…

达梦数据库的系统视图v$object_usage

达梦数据库的系统视图v$object_usage 在达梦数据库(DM Database)中,V$OBJECT_USAGE 视图提供了关于数据库对象的使用情况和统计信息。这些对象可以包括表、索引、视图、存储过程等。通过 V$OBJECT_USAGE 视图,数据库管理员可以监…

贵金属市场展望:黄金独领风骚,钯金、铂金与白银承压

黄金新高可期,避险魅力不减 黄金市场持续升温,近期价格屡创新高。随着全球经济不确定性增加及美联储降息预期的增强,黄金的避险属性得到进一步凸显。市场普遍预期,若美联储在年内维持宽松货币政策,黄金价格有望继续上扬…

新迪天工®看图,专业的三维CAD看图工具

替代专业CAD软件,方便查看各种三维和二维CAD图纸 新迪天工看图是一款功能强大的三维模型和二维图纸查看工具,能帮助制造企业以较低的成本、较高的数据安全性实现产品设计数据的跨业务浏览和交互。 应用场景 1、设计图纸评审 可直接对三维模型和二维…