使用vue跟后台合作写导出excel文件时,当只发请求时,会出现返回的是一大串的乱码,如下图所示:
其实这个时候后台的代码是正常的,可以使用postMen测试,可以正常导出文件,这时候需要使用blob进行转换,代码如下:
// "expFile"是路径
axios.post("expFile",{param:'11'},{responseType:'blob'})
.then((response) => {
let blob = new Blob([response.data]);
if (window.navigator.msSaveOrOpenBlob) {
// 如果需要改名字,前台可以自动生成
navigator.msSaveBlob(blob,"下载的文件");
} else {
let link = document.createElement("a");
let evt = document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
link.href = URL.createObjectURL(blob);
link.download = "下载的文件