后台返回二进制文件,前端点击下载

后台数据以二进制字符串返回
调接口获取二进制字符串

axios.get("/downLoad",{
  headers:{
    responseType: 'blob'
  }
}).then(res=> {
  downLoad(res.data, `文件名`)
})

downLoad(data,fileName) {
    if (!data) {
        return;
    }
    // 创建一个Blod对象 并且用url指向它
    let url = window.URL.createObjectURL(new Blob([data]));
    // 创建a标签
    let link = document.createElement("a");
    // 不让a标签显示
    link.style.display = "none";
    // a 标签的href 指向之前的url地址
    link.href = url;
    // 设置下载属性和文件名
    link.setAttribute("download", `${fileName}.xlsx`);
    // 将a标签插入到页面
    document.body.appendChild(link);
    // 点击a标签
    link.click();
    // 下载成功后,移除a标签和url对象
    document.body.removeChild(link)
    window.URL.revokeObjectURL(url)
}
posted @   coderlq  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示