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`) }

浙公网安备 33010602011771号