1、引入
import axios from 'axios'
const FileSaver = require('file-saver')
2、具体实现
handleDownload (id) {
this.$loading({
text: '正在下载,请稍后...'
})
axios({
url: `xxxx`, // 后端url地址
timeout: 10000,
method: 'get',
headers: {
'Authorization': this.$store.getters.token
}, // 此处headers为权限验证的token,如果没有可以不传
responseType: 'blob'
}).then((res) => {
let blob = res.data
// 解析文件名
let fileName = decodeURIComponent(res.headers['content-disposition'].split(';')[1].split('filename=')[1])
FileSaver(blob, fileName)
}).finally(() => {
this.$loading().close()
})
},