前端使用 jszip.js 和 FileSaver.js 下载并压缩文件

  async export_data() {
   let zip = new JSZip()
   // 下载文件并添加到 ZIP
   for (const i of this.tableData) {
     const data = await fetch(i.path).then(response => response.arrayBuffer())
     const imageByteStream = new Uint8Array(data).subarray(1024)
     // 获取图片信息
     const blob = new Blob([imageByteStream], { type: 'image/jpeg' })
     zip.file(`${i.name}.jpg`,blob) // 压缩文件
   }
   let content = await zip.generateAsync({ type: 'blob' })
   saveAs(content,`近30天_图片数据.zip`) // 下载
  }

ps: i.path是 文件路径

jszip.js cdn地址:https://cdn.bootcdn.net/ajax/libs/jszip/3.10.1/jszip.min.js
FileSaver.js cdn地址:https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js

posted @ 2024-11-08 10:45  yw3692582  阅读(86)  评论(0编辑  收藏  举报