码迷,mamicode.com
首页 > 其他好文 > 详细

前端批量压缩下载

时间:2019-04-11 11:55:33      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:保存   网络   文件名   []   await   tps   saveas   bsp   console   


 import axios from ‘axios‘
 import JSZip from ‘jszip‘  //打包压缩必备,参考链接https://stuk.github.io/jszip/
 import FileSaver from ‘file-saver‘  //文件保存至本地,参考链接https://github.com/eligrey/FileSaver.js/

//
批量下载 async handleBatchDownload(selectImgList){ const self = this const data = selectImgList; const zip = new JSZip() const cache = {} const promises = [] await data.forEach( (item,key) => {   const promise = self.getFile(item).then(dta => { // 下载文件, 并存成ArrayBuffer对象   // 获取文件名   const file_name = self.nameOptions[key].value + ‘.jpg‘   zip.file(file_name, dta, {binary: true}) // 逐个添加文件   cache[file_name] = dta   })   promises.push(promise) }) Promise.all(promises).then(() => { zip.generateAsync({type: "blob"}).then(content => { // 生成二进制流 FileSaver.saveAs(content, this.nameOptions[0].value + ".zip") // 利用file-saver保存文件 this.loading = false }).catch( err=>{ this.loading = false this.$notify({ message: "网络出了点小问题,请稍后再试!", type: "error" }); }) }) }, // 下载图片 getFile(url) { return new Promise((resolve, reject) => { axios({ method: ‘get‘, url, responseType: ‘arraybuffer‘ }).then(res => { // console.log(res) resolve(res) }).catch(error => { console.log(error) reject(error.toString()) }) }) },

 

前端批量压缩下载

标签:保存   网络   文件名   []   await   tps   saveas   bsp   console   

原文地址:https://www.cnblogs.com/jay-sans/p/10688681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!