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

vue前端实现多个url下载并合并为zip文件

一、安装

npm install jszip
npm install file-saver

二、引入

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

三、核心代码

videoData:['/video/26519f026fc012521605563015227403.mp4','/video/f7b9cdae14ad51e491b62742f71c43e7.mp4','/video/1f82d79e0a9ef414419275a5f1d6bb94.mp4'],download1(){var videoData = this.videoData;const zip = new JSZip();var promises = [];videoData.forEach(item => {const promise = this.getFile(item).then(data => {const arr_name = item.split("/");const file_name = arr_name[arr_name.length - 1]; // 获取文件名console.log(data)zip.file(file_name, data, { binary: true });});promises.push(promise);});Promise.all(promises).then(() => {console.log("全部下载完成");zip.generateAsync({ type: "blob" }).then(content => {// 生成二进制流console.log("生成压缩包");FileSaver.saveAs(content, "时间戳.zip");});});},getFile(url){return new Promise((resolve, reject) => {axios({method: "get",url:url,responseType: "blob"}).then(data => {resolve(data.data);}).catch(error => {reject(error.toString());});});},

http://www.lryc.cn/news/220853.html

相关文章:

  • Redis02-持久化策略
  • Crypto(9)[MRCTF2020]keyboard
  • IOS自带的OCR识别功能
  • 1300*C. Product of Three Numbers(质数数学)
  • 【网络】五中IO模型介绍 + 多路转接中select和poll服务器的简单编写
  • Camtasia2024破解版电脑屏幕录制剪辑软件
  • c语言进阶部分详解(《高质量C-C++编程》经典例题讲解及柔性数组)
  • Unreal PythonScriptPlugin
  • 什么是数据可视化,为什么数据可视化很重要?
  • chatgpt相关问题解答
  • nssm将exe应用封装成windows服务
  • golang实现极简todolist
  • C# Onnx Dense Face 3D人脸重建,人脸Mesh
  • Java 8 新特性 Stream 的使用场景(不定期更新)
  • 公开IP属地信息如何保护用户的隐私?
  • 大桌子初步使用
  • 初步了解ORM框架之一Mybatis
  • 2023 electron最新最简版windows、mac打包、自动升级详解
  • Ubuntu18.04安装pcl-1.12.1,make时报错:/usr/bin/ld: cannot find -lvtkIOMPIImage
  • 表单验证不通过的一个点form中未定义这个字段
  • 最新、最全、最详细的 K8S 学习笔记总结
  • Emacs之高亮显示超过80个字符部分(一百三十)
  • C语言 每日一题 PTA 11.7 day13
  • 产品经理进阶:产品的起点是发现并理解问题
  • Java —— 类和对象(一)
  • RabbitMQ(高级特性)优先级队列
  • 盘点苹果手机导出照片到电脑的3个方法!
  • px、rpx、em以及rem的区别与用法
  • 类(class)
  • FPGA时序分析与约束(10)——生成时钟