1、public下的static存放test.xlsx文件
const a = document.createElement('a')
a.href = './static/test.xlsx'
a.download = 'test.xlsx'
a.click()
2、流下载
const user = JSON.parse(localStorage.getItem('current_user'))
axios({
timeout: 1000 * 60 * 5,
headers: {
'Content-Type': 'application/json; charset=UTF-8',
'x-authority-token':user.token,
'x-app-code': 4
},
method: 'post',
responseType: 'blob',
url: url
}).then(res => {
if (res.data.type === 'application/json') {
var blob = new Blob([res.data], {
type: 'application/vnd.ms-excel'
})
var reader = new FileReader()
reader.readAsText(blob, 'utf-8')
reader.onload = function(e) {
const resultObj = JSON.parse(reader.result)
if (resultObj.code !== 0) {
// _this.$openMessage({ message: resultObj.msg, type: 'error' })
}
}
} else {
if (window.navigator.msSaveOrOpenBlob) {
// 兼容IE
try {
var blobObject = new Blob([encodeURI(res.data)])
// eslint-disable-next-line no-undef
window.navigator.msSaveOrOpenBlob(blobObject, fileName)
} catch (e) {
console.log(e)
}
} else {
const blob = new Blob([res.data], {
type: 'application/octet-stream;charset=UTF-8'
})
var downloadElement = document.createElement('a')
downloadElement.download = '节假日管理模板.xlsx' // 下载的文件名
downloadElement.href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.click() // 点击下载
document.body.appendChild(downloadElement)
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(downloadElement.href) // 释放掉blob对象
}
}
})
} catch (e) {
console.log('🚀🚀🚀🚀🚀 ~~~~~~~~ downloadTemplate ~~~~~~~~ e:', e)
// this.downLoading = false
}