这里使用jszip进行文件打包,可以创建文件夹,创建文件。然后使用FileSaver进行下载,这里使用FileSaver下载是因为这个工具可以下载大文件,而且效率非常高。一下代码示例,简单模块化了一下,为了能够上传下载文件。

'use strict';
import JsZip from 'jszip'
import { saveAs } from 'file-saver'
export class DownloadUtil {constructor() {this.zip = new JsZip();}// 添加文件到zipaddFileInZip(fileName, content, option) {this.zip.file(fileName, content, option)}// 添加文件夹到zipaddFolderInZip(folderName) {return this.zip.folder(folderName)}// 打包成blob(二进制数据)packageZip2blob() {return this.zip.generateAsync({ type: 'blob' })}// 打包并下载(默认打包成blob)packageZipAndDownload(zipName, type = 'blob') {this.zip.generateAsync({ type }).then(content => {saveAs(content, zipName)})}
}

JsZip+FileSaver实现打包文件并下载相关推荐

  1. 【Java】Java实现批量打包文件Zip下载

    有这样一个需求,需要将某个文件夹进行下载,而且该文件下包含多张图片,图片是存储于Linux服务器上的.故采用zip打包方式进行下载.在此并没有采用获取网络图片的方式进行下载,而是找到图片在服务器上存储 ...

  2. Java实现批量打包文件Zip下载(适用于Windows,Linux)

    前言 1.思路总结:      * 1.每个单号多个文件直接遍历IO临时单号zip包,      * 2.多个单号临时zip包遍历IO到总临时zip包,      * 3.总临时zip包copy到前端 ...

  3. java 批量下载图片,批量打包文件并下载

    1.批量下载网页上,动态生成的图片到服务器上指定的目录中 2.将目录中的所有的图片打包成zip包 3.删除原来的目录 4.下载zip包 1:由于网页上的图片是全部都是连接动态生成的,所以同事在网上找了 ...

  4. gin 前端文件打包_远程URL文件批量下载打包的方法

    开始 最近代码重构遇到了一个问题,需要把OSS 上的一批图片打包下载 旧服务器的硬盘是直接挂载OSS,所以直接调的Linux系统命令复制打包,所以速度比较快.新服务器重构代码行不通,这样做也不好 查阅 ...

  5. react——利用jszip实现文件批量下载并打包成zip文件

    本文章主要记录利用jszip实现文件批量下载图片,文档.mp3,视频(MP4)等文件,一般而言前端实现下载功能一般都是通过a链,这在下载单个文件的场景很实用,但如果是批量下载很多个文件,同样也可以用a ...

  6. vue 使用 jszip file-saver 对附件word pdf png 等进行zip打包下载

    vue jszip file-saver 实现一个勾选,批量前端下载文件,多个的话进行下载zip文件下载功能,如下图所示 1. 安装依赖 npm install jszip npm install f ...

  7. 文件打包为zip下载(filesaver\ StreamSaver)

    文件打包为zip下载(filesaver\StreamSaver) 在react项目中使用的,仅展示核心方法,其他的结构没写,使用时记得自己修改规范之类的 1,使用filesaver.js 需安装ax ...

  8. vue项目批量加载url文件并打包到zip下载

    vue项目批量加载url文件并打包到zip下载 项目里之前是遇到这样一个需求哈,需要根据选择的不同动态批量生成并下载图片, 而且这个图片不是一张一张生成下载,而是要等他选好条件之后, 把对应的图片动态 ...

  9. 前端提效 Magic,导出多个Excel文件并打包为压缩包下载

    本篇文章主要介绍使用 exceljs.file-saver.jszip实现下载包含多层级文件夹.多个 excel.每个 excel 支持多个 sheet 的 zip 压缩包. 上一篇文章:前端复杂表格 ...

最新文章

  1. Google工作10年,关于技术、管理和职场生涯的一些感悟
  2. numpy使用[]语法索引二维numpy数组中指定数据行的数值内容(accessing the specific row in numpy array)
  3. 如何防止锚标签上的默认值?
  4. 数据挖掘十大经典算法之——AdaBoost 算法
  5. 目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto
  6. Learning to rank的讲解,单文档方法(Pointwise),文档对方法(Pairwise),文档列表方法(Listwise)
  7. 李彦宏妻子马东敏向中国科大捐赠1亿 成立蔷薇基金
  8. POJ1845-Sumdiv【逆元,等比数列,约数】
  9. 30-- 返回倒数第 k 个节点
  10. 简述一下索引的匹配原则_【进阶之路】索引中一些易忽视的点
  11. ❤️Spring注入集合❤️(建议收藏)
  12. 【C 语言】文件操作 ( ftell 函数 | 使用 ftell 函数获取当前指针位置 | 通过 ftell 计算文件大小 )
  13. python图像清晰度计算_Python 做图片清晰度识别
  14. 包含太多_股票开户必备知识,股票交易费包含哪些?
  15. 多伦多大学Self-Driving Cars自动驾驶专项课程(十八)Proportional-Integral-Derivative(PID) Control
  16. 工业设计公司如何选择
  17. 【历史上的今天】12 月 27 日:第一台计算机背后的女性们;Box 创始人出生;开普勒诞生
  18. 计算机进去bios方式,电脑的BIOS在哪?各电脑进入BIOS的方法
  19. 29-高级路由:BGP清除
  20. DDoS 攻击的趋势

热门文章

  1. 跳板攻击原理及如何追踪定位攻击者主机(下)
  2. selenum模拟登陆知乎(重点倒立文字)
  3. Java将字符串按照指定长度分割成字符串数组
  4. DCloud-MUI:下拉刷新、上拉加载
  5. 小程序开发之影分身术
  6. 7-76 PAT考试日期 (5分)
  7. 物理服务器与云服务器的租用对比
  8. 远程桌面连接报错(CredSSP加密数据库修正)解决方案
  9. 老九C语言41课项目实战-皇帝的后宫
  10. 区块链游戏和传统游戏有什么区别?