由于项目需要,需要实现一个批量下载的功能。
具体流程为,我传入一个id,从后台获取这个id下所有文件的下载地址,通过循环调用实现批量下载
由于公司找的网盘端不支持跨域访问,无法通过axios来进行下载,只能通过a标签的download属性来进行操作,在实现的过程中遇到了问题。
xxx.vue 文件
<el-button type="text" class="title" @click="downloads(scope.row)">下载</el-button>
<a :href="uri" ref="a" download style="display:none">下载</a>
js代码
downloads(row) {
get(row.id).then(res => {
if (res.data.length > 0) {
for (const id of res.data) {
this.$refs.a.href = id
this.$refs.a.click()
}
}
})
},
这段代码在单文件时,每个浏览器均下载正常,但是超过1个的时候除了chrom会提示是否允许多文件下载之外,诸如safiri,firefox都只会下载第一个文件。
求教各位大牛如何解决这个问题。
相关分类