1.post 请求
加 responseType: ‘blob’
axios.post(${url}
,params ,{headers: {‘Authorization’: Auth,‘Content-Type’: contentType,responseType: ‘blob’}})
MemberInfoExport(this.formData).then(res => {
if (res) {
console.log(res)
this.downloadFile(res)
}
})
downloadFile (data) {
let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = this.getNowFormatDate() // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
},
downloadFile(data, name) {
let blob = new Blob([data], { type: 'application/pdf' })//要指明type,不然下载不了
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = name // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
},
getNowFormatDate () {
var date = new Date()
var seperator1 = '-'
var seperator2 = '-'
var month = date.getMonth() + 1
var strDate = date.getDate()
if (month >= 1 && month <= 9) {
month = '0' + month
}
if (strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + ' ' + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds()
const name = '会员信息'
currentdate = name + currentdate
return currentdate
}
2.get 请求
axios.get(${url}
, {params: params,headers: {‘Authorization’: Auth,‘Content-Type’: ‘application/json’},responseType: ‘blob’})