下载文件场景下:
使用a标签访问静态路径请求服务器下载文件时,zip.xlsx等文件类型浏览器打不开会下载到本地,而image、py、txt、exe在第三方网站上或者跨域项目/前后端部署的,浏览器a标签H5属性download会失效直接强制打开预览文件,同时低版本ie或者谷歌有兼容性问题
解决方法 使用构造函数blob下载文件无任何兼容性问题
1>.调用Blob构造函数生成blob对象
const blobContent = new Blob([二进制流数据-byte型],{type})
2>,调用..生成url对象指向blob
const bloburl=window.URL.createObjectURL(blobConent)
3>.封装函数下载文件
downloadFileBlob(bloburl,filename){
const link=document.createElement(“a”);
link.download = filename;
link.style.display="none";
link.href = bloburl;
document.body.appendChild(link);
link.click();
//移除
documen.body.removeChild(link)
}