需求:前端需要实现图片批量下载,如果一个一个下载图片会导致用户不好保存,经考虑后采用压缩包的形式进行下载
实现方式:
1、安装downloadalioss
npm install downloadalioss
2、引入
import downloadalioss from 'downloadalioss' // 导出压缩包插件
3、使用
openZip(list) {
// 文件数据结构 list为接口返回的数组
let fileArr = []
list.forEach((item, index) => {
fileArr.push({
url: item.file, // 文件的oss存储路径 (必填)
name: item.name, // 文件名 (可选, 不需要填扩展名)
foldPath: ''// (可选, 文件在压缩包中的存储路径)
})
})
let packageName = `商品证件${Date.now()}.zip` // (可选) 下载的压缩包名字, 需要带上 .zip 扩展名, 不填写默认为 '文件.zip'
// 下载
downloadalioss(fileArr, packageName)
setTimeout(() => {
this.loadingDownload = false
this.tableData.loading = false
}, 200)
},