1、确认接口有没有设置 responseType: “blob”
2、使用blob转换,res 是 后端返回的文件流文章来源:https://www.toymoban.com/news/detail-599161.html
export function exportFile(res, filename) {
if (!res) {
return
}
const blob = new Blob([res.data]);
let url = window.URL.createObjectURL(blob);
if ("download" in document.createElement("a")) {
try {
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", filename);
document.body.appendChild(link);
link.click();
link.remove()
} catch (e) {
console.log(e)
}
} else {
navigator.msSaveBlob(blob, filename);
}
}
3、如果文件还是打不开,提示文件格式不对……,那就看看项目中有没有引用mockJs,有的话注释掉就可以啦文章来源地址https://www.toymoban.com/news/detail-599161.html
到了这里,关于后端返回文件流,前端用blob转换后,下载的文件乱码或者打不开怎么解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!