1. 通过Blob下载
参考链接: 前端通过Blob实现文件下载
参考链接2 HTML5 File API 全介绍
1.1 Blob下载代码应用:
下载按钮
<Button @click="downResult()" style="border: 1px solid">
调用的Blob下载方法
// 下面的downResult是前端通过Blob实现文件下载,需要请求后台获取数据responseData, 但大文件的等待时间较长,现改为直接通过src下载
downResult () {
this.taskId = window.location.href.split('/').pop()
this.taskLoading = true
let id = parseInt(this.taskId)
taskApi.downResult(id).then(responseData => {
this.taskLoading = false
this.$Message.success('运行结果获取成功,下载即将开始,请稍后……')
let blob = new Blob([responseData], {
type: 'application/zip'})
let url = window.URL.createObjectURL(blob)
console.log(url)
this.download(url, '-result')
window.URL.revokeObjectURL(url)
})
},
download (url, text) {
if (!url) {
return
}
let link = document.createElement('a') // 创建