一、地址下载
后端返回一个url
var url = 'http://123.com'
let link = document.createElement('a');
link.href= url;
link.click();
window.URL.revokeObjectURL(link);
二、后端返回文件流
//对于错误信息的提示
if(res.data.type=== 'application/json'){
const reader = new FileReader();
reader.readAsText(res.data, 'utf-8');
reader.onload = () => {
let errMsg = JSON.parse(reader.result).msg
this.$message.error(errMsg)
};
}else{
let responseFileName = decodeURI(
res.headers["content-disposition"].slice(21)
);//获取文件名称
//文件流
let url = window.URL.createObjectURL(new Blob([res.data]));
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", responseFileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
this.$message.success("下载成功");
}
注意:如果是乱码,需要定义responsetype:‘blob’