js将批量下载的文件如jpg、txt、json文件放到压缩包后再进行下载

1.引入 jszip.min.js 和 FileSaver.min.js

  <script src="../.lib/js/jszip.min.js"></script>
  <script src="../.lib/js/FileSaver.min.js"></script>

2.使用

  // 导出jdb
  async export_jdb() {
   if (!this.multipleSelection.length) return this.open_message('请先选中数据')
   let zip = new JSZip()
   for (let item of this.multipleSelection) {
    let path = this.get_path(item) // 得到完整且可访问的url地址
    let data = await fetch(path).then((response) => response.arrayBuffer())
    let blob = new Blob([data], { type: 'json' })
    zip.file(`${dayjs(item.source_time).format('HHmmss')}.json`, blob) // 压缩包中单个文件的名称
   }
   let content = await zip.generateAsync({ type: 'blob' })
   saveAs(content, `${dayjs(this.time).format('YYYY-MM-DD')}.zip`)
  }

 

posted @ 2026-02-02 13:37  yw3692582  阅读(16)  评论(0)    收藏  举报