背景: element-ui写的表。 数据量过多,当前过滤功能不完整,增加了导出数据的功能。 将所有数据一键下载到一个excel中,让运营人员在excel中搜索。 导出数据的功能由后端哥哥做,前端只负责下载。
此时,后台的哥哥向你扔了下载的url
window.location.href=url;
下载,但不优美(根据需要不能更改名称)
常见的做法是获取文件Blob,下载后重命名,简单整理
//下载方法downloadexcel(URL,filename ) this.getblob ).then ) ) blob )=) this.saveas ) blob,filename ); ); },/***blob*@param{string}URL目标文件地址*@return{promise}*/getblob(URL ) returnnewpromise () ) resolve xhr.responseType='blob '; xhr.onload=()=) if ) xhr.status===200 ) ) resolve ) xhr.response ); }; xhr.send (; ); },/** *保存* @ param { blob } blob * @ param { string } filename要保存的文件名*/saveas(blob,filename ) if ) window.navinaving const body=document.query selector (' body ); link.href=window.URL.create object URL (blob; link.download=filename; //fixfirefoxlink.style.display=' none '; body.appendchild(link; link.click (; body.removechild(link ); window.URL.revokeobjecturl (link.href ); }、