Axios envía una solicitud por correo o recibe
postDown(){
axios.post(
url,
data,
{
responseType:'blob',
onDownloadProgress:function(event){
if(event.loaded===event.total){
}
}
}
).then(res=> {
if(res.status===200){
var fileName = res.headers['filename']
var suffix = 'zip'
if(fileName){
var arr =fileName.split('.')
suffix = arr[arr.length-1]
}
var content = res.data
if(content.size<1){
this.$message({
type:'info',message:'文件不存在'})
return
}
var blob = new Blob([content])
fileName = 'timestamp.'+suffix
this.downFile(null, blob, fileName)
}
}).catch(error=>{
console.log(error)
})
},
Generar una etiqueta para ejecutar la descarga
downFile(url, blob, fileName){
var aTag = document.createElement('a')
if(url){
aTag.href = url
}
if(blob){
aTag.href = URL.createObjectURL(blob)
}
if(fileName){
aTag.download = fileName
}
aTag.click()
URL.revokeObjectURL(aTag.href)
}