当前位置: 首页 > news >正文

vue实现批量下载文件流并压缩

为了实现文件流压缩,我们可以使用 JSZipFileSaver 这两个第三方库。JSZip 是一个用于创建、读取和编辑 .zip 文件的 JavaScript 库,而 FileSaver 则用于在客户端保存文件。

  • ‌JSZip‌:用于创建和操作zip文件。可以通过 file 方法将文件添加到zip中,通过 generateAsync
    方法生成zip文件。 ‌
  • ‌FileSaver‌:用于将生成的zip文件保存到本地。通过 saveAs 方法可以实现文件保存。

首先要安装插件

npm install jszip file-saver

然后,在Vue组件中编写代码实现文件流压缩功能。

<template><div><button @click="downloadZip">下载压缩包</button></div>
</template><script>
import JSZip from 'jszip';
import { saveAs } from 'file-saver';
import axios from 'axios';export default {methods: {async downloadZip() {const zip = new JSZip();// 下面是示例文件名,项目中改成勾选的数据const fileNames = ['file1.txt', 'file2.txt', 'file3.txt']; // 示例文件名const promises = fileNames.map(fileName => this.getFileAsStream(fileName).then(blob => {zip.file(fileName, blob);}));await Promise.all(promises);const content = await zip.generateAsync({ type: 'blob' });saveAs(content, '批量下载.zip');},async getFileAsStream(fileName) {// 这里假设你有一个后端接口可以返回文件流const response = await axios.get(`/path/to/your/api/${fileName}`, {responseType: 'arraybuffer' // 如果不行改成blob });const blob = new Blob([response.data], { type: 'application/octet-stream' });return blob;}}
};
</script>

相关文章:

vue实现批量下载文件流并压缩

为了实现文件流压缩&#xff0c;我们可以使用 JSZip 和 FileSaver 这两个第三方库。JSZip 是一个用于创建、读取和编辑 .zip 文件的 JavaScript 库&#xff0c;而 FileSaver 则用于在客户端保存文件。 ‌JSZip‌&#xff1a;用于创建和操作zip文件。可以通过 file 方法将文件添…...

前端入门之VUE--ajax、vuex、router,最后的前端总结

前言 VUE是前端用的最多的框架&#xff1b;这篇文章是本人大一上学习前端的笔记&#xff1b;欢迎点赞 收藏 关注&#xff0c;本人将会持续更新。本人不是学前端的&#xff0c;这个是大一的时候上学的和做的笔记&#xff0c;那个时候学的也蒙&#xff0c;故这里对前端做一个总…...

安装k8s涉及命令(方便放到txt离线使用)

查看操作系统信息 uname -a # 查看所有操作系统信息 uname -s # 查看内核名称 uname -r # 查看内核版本号 uname -m # 查看机器硬件名称 cat /etc/os-release # 查看所有操作系统信息 配置hosts cat >> /etc/hosts << EOF 172.171.16.147 crawler-k8s-mast…...

FLV视频封装格式详解

目录(?)[-] OverviewFile Structure The FLV headerThe FLV File BodyFLV Tag Definition FLVTAGAudio TagsVideo TagsSCRIPTDATA onMetaDatakeyframes Overview Flash Video(简称FLV),是一种流行的网络格式。目前国内外大部分视频分享网站都是采用的这种格式. File Structure…...

搭建vue3+vant项目架构

git代码仓库&#xff0c;直接下载压缩包使用 1、首先要安装node.js(18.3 或更高版本) 2、创建vue3项目 npm create vuelatest然后按照自己的需要进行选择就行 到此vue3项目创建完成&#xff0c;接下来是搭建项目架构 3、配置Vant (移动端ui) vue3项目引入vant&#xff0c…...

【Linux】进程间通信 -> 匿名管道命名管道

进程间通信的目的 数据传输&#xff1a;一个进程许需要将它的数据发送给另外一个进程。资源共享&#xff1a;多个进程之间共享同样的资源。通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息&#xff0c;通知它们发生了某种事件&#xff08;如进程终止时要通知父进程…...

大数据开发学习路线

编程语言&#xff1a; Python&#xff1a;数据分析、数据预处理 Java&#xff1a;Hadoop和许多大数据工具的基础 Scala&#xff1a;用于Apache Spark数据库知识&#xff1a; SQL和NoSQL数据库的基本概念 数据库系统如MySQL、MongoDB等操作系统&#xff1a; Linux基础命令和脚本…...

华为云计算HCIE笔记05

第七章&#xff1a;其它模式 灾备组网 高可用性组网&#xff0c;单核心场景下&#xff0c;直接在两个站点中设置一个第三方仲裁站点&#xff0c;两个站点同时连接到仲裁&#xff0c;并且连接到对方。一旦出现问题&#xff0c;则由仲裁站点进行判断&#xff0c;进行业务切换 双核…...

wordpress网站用token登入开发过程

生成跳转token 示例&#xff1a; function generate_login_token($user_id, $secret_key) {$payload [user_id > $user_id,timestamp > time(),];$payload_json json_encode($payload);$signature hash_hmac(sha256, $payload_json, $secret_key);return base64_en…...

Python基础知识回顾

数据类型 Python可以区分整数&#xff08;integers、下文简写为int&#xff09;、浮点数&#xff08;float&#xff09;、字符串&#xff08;string&#xff09;和布尔值&#xff08;Boolean&#xff09;等数据类型。 1&#xff09;int是可正可负的整数 2&#xff09;float包…...

C++--------效率和表示

C 效率和表示 效率 时间效率&#xff1a;在 C 中&#xff0c;不同的数据结构和算法有着各异的时间复杂度。例如&#xff0c;访问数组元素的时间复杂度是 O ( 1 ) O(1) O(1)&#xff0c;而遍历链表查找元素的时间复杂度最坏情况下是 O ( n ) O(n) O(n)。选择合适的算法与数据…...

在 Ubuntu 服务器上添加和删除用户

在 Ubuntu 服务器上添加和删除用户通常使用命令行工具&#xff0c;如 adduser、useradd、deluser 等。以下是详细的步骤和说明&#xff1a; 添加用户 使用 adduser 命令 adduser 是一个更为友好的脚本&#xff0c;用于创建新用户并设置相关信息。 添加新用户 sudo adduser 用…...

安卓 SystemServer 启动流程

目录 引言 Android系统服务启动顺序 zygote fork SystemServer 进程 SystemServer启动流程 1、SystemServer.main() 2、SystemServer.run() 3、初始化系统上下文 4、创建系统服务管理 5、启动系统各种服务 总结 引言 开机启动时 PowerManagerService 调用 AudioSer…...

深度分析 es multi_match 中most_fields、best_fields、cross_fields区别

文章目录 1. multi_match 查询的类型1.1 best_fields&#xff08;默认&#xff09;1.2 most_fields1.3 cross_fields 2. 不同类型的示例查询示例数据&#xff1a; 3. 示例 1: 使用 best_fields查询&#xff1a;说明&#xff1a; 4. 示例 2: 使用 most_fields查询&#xff1a;说…...

中职计算机网络技术理实一体化实训室建设方案

构建理实一体化教学模式对于改善中等职业学校计算机网络技术课程的教学现状、提升教学质量和效率具有重要意义。在中职教育不断深化改革的背景下&#xff0c;积极推进理实一体化教学模式的发展&#xff0c;不仅能够提高计算机网络技术课程的教学水平&#xff0c;满足教育改革的…...

Java技术专家视角解读:SQL优化与批处理在大数据处理中的应用及原理

引言 在大厂架构中&#xff0c;提升系统性能和稳定性是技术团队的首要任务。SQL优化与批处理作为两大关键技术手段&#xff0c;对于处理大规模数据和高并发请求具有重要意义。本文将从Java技术专家的视角出发&#xff0c;深入探讨SQL优化与批处理在大数据处理中的应用及原理&a…...

数据结构(Java版)第六期:LinkedList与链表(一)

目录 一、链表 1.1. 链表的概念及结构 1.2. 链表的实现 专栏&#xff1a;数据结构(Java版) 个人主页&#xff1a;手握风云 一、链表 1.1. 链表的概念及结构 链表是⼀种物理存储结构上⾮连续存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的引⽤链接次序实现的。与火车…...

云边端一体化架构

云边端一体化架构是一种将云计算、边缘计算和终端设备相结合的分布式计算模型。该架构旨在通过优化资源分配和数据处理流程&#xff0c;提供更高效、更低延迟的服务体验。 下面是对这个架构的简要说明&#xff1a; 01云计算&#xff08;Cloud Computing&#xff09; — 作为中心…...

人工智能之基于阿里云进行人脸特征检测部署

人工智能之基于阿里云进行人脸特征检测部署 需求描述 基于阿里云搭建真人人脸68个关键点检测模型&#xff0c;模型名称&#xff1a;Damo_XR_Lab/cv_human_68-facial-landmark-detection使用上述模型进行人脸关键点识别&#xff0c;模型地址 业务实现 阿里云配置 阿里云配置…...

基于高云GW5AT-15 FPGA的SLVS-EC桥MIPI设计方案分享

作者&#xff1a;Hello,Panda 一、设计需求 设计一个4Lanes SLVS-EC桥接到2组4lanes MIPI DPHY接口的电路模块&#xff1a; &#xff08;1&#xff09;CMOS芯片&#xff1a;IMX537-AAMJ-C&#xff0c;输出4lanes SLVS-EC 4.752Gbps Lane速率&#xff1b; &#xff08;2&…...

Ubuntu服务器部署AI模型:Phi-4-mini-reasoning一站式安装配置指南

Ubuntu服务器部署AI模型&#xff1a;Phi-4-mini-reasoning一站式安装配置指南 1. 前言&#xff1a;为什么选择Phi-4-mini-reasoning 如果你正在寻找一个轻量级但性能不俗的AI推理模型&#xff0c;Phi-4-mini-reasoning是个不错的选择。这个模型特别适合部署在Ubuntu服务器上&…...

从成本到实践:基于uniCloud与七牛云扩展存储的uniapp项目降本增效全攻略

1. 为什么选择uniCloud扩展存储&#xff1f;省钱的底层逻辑 做uniapp项目最头疼的就是用户上传的图片、视频这些文件怎么存。去年我接手一个社区类小程序&#xff0c;用户每天上传的图片超过5万张&#xff0c;用传统云存储一个月光流量费就烧掉8000多块。后来换成uniCloud七牛…...

如何在Windows上获得完美的macOS光标体验:完整指南

如何在Windows上获得完美的macOS光标体验&#xff1a;完整指南 【免费下载链接】macOS-cursors-for-Windows Tested in Windows 10 & 11, 4K (125%, 150%, 200%). With 2 versions, 2 types and 3 different sizes! 项目地址: https://gitcode.com/gh_mirrors/ma/macOS-c…...

面试-并行前缀和优化 Linear Attention

1 什么是前缀和? 定义: 第 k 个元素的状态依赖于第 k-1 个元素; 公式: 前缀和 = 从第 1 个,一直加到当前位置; 例子: 比如有 4 个数: A、B、C、D; 那么前缀和的结果为: S1 = A S2 = A + B S3 = A + B + C S4 = A + B + C + D在 Linear Attention 中有所体现,即,…...

Palworld存档工具完全指南:高效管理与转换游戏数据

Palworld存档工具完全指南&#xff1a;高效管理与转换游戏数据 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools Palworld存档工具是一款专为Palwor…...

告别DataGridView!用ReoGrid在C#中打造Excel级表格编辑功能(支持粘贴/样式保留)

告别DataGridView&#xff01;用ReoGrid在C#中打造Excel级表格编辑功能&#xff08;支持粘贴/样式保留&#xff09; 在传统C#桌面应用开发中&#xff0c;DataGridView一直是表格数据显示的默认选择。但当我们面对制造业成本核算、财务报表生成等需要处理复杂Excel数据的场景时&…...

Windows USB开发新范式:使用UsbDk突破系统限制实现设备独占访问

Windows USB开发新范式&#xff1a;使用UsbDk突破系统限制实现设备独占访问 【免费下载链接】UsbDk Usb Drivers Development Kit for Windows 项目地址: https://gitcode.com/gh_mirrors/us/UsbDk 痛点识别&#xff1a;传统USB开发面临的挑战 当你尝试在Windows平台上…...

Pine Script交易策略开发实战指南:从零基础到自动化交易的完整路径

Pine Script交易策略开发实战指南&#xff1a;从零基础到自动化交易的完整路径 【免费下载链接】awesome-pinescript A Comprehensive Collection of Everything Related to Tradingview Pine Script. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-pinescript …...

30 分钟搞定答辩 PPT!Paperxie AI 神器,终结本科生的熬夜改稿噩梦

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 一、答辩 PPT&#xff0c;真的没必要熬到凌晨三点 “论文终于写完了&#xff01;”—— 当你以为能松口气时&#xff0c;答辩…...

PointPillars:面向自动驾驶的高效3D点云目标检测技术实现

PointPillars&#xff1a;面向自动驾驶的高效3D点云目标检测技术实现 【免费下载链接】PointPillars 项目地址: https://gitcode.com/gh_mirrors/po/PointPillars 1. 技术挑战与解决方案 自动驾驶系统面临的核心挑战之一是实时感知复杂的三维环境。激光雷达(LiDAR)作为…...