首页 > 其他分享 >使用axios下载二进制流文件

使用axios下载二进制流文件

时间:2024-11-01 10:41:33浏览次数:1  
标签:axios elink 二进制 data window let blob type 下载

1.下载文件的api接口,在api.js中书写

export const downloadFiles= (params) => {
  return axios.post(`${baseUrl}/downloadFiles`, params, {
    responseType: "blob",
  });
};

2.调用api接口,在需要使用下载的方法中书写,使用async和await异步加载的方式

let res = await downloadFiles(id)
//省略处理name和type的代码
//...
//name为文件名,type为文件格式
exportFile(res.data, name, type);

3.exportFile函数

function exportFile(data, filename, ext = "xlsx", type = "application/vnd.ms-excel") {
  let blob = new Blob([data], { type });
  if (window.navigator.msSaveBlob) {
    try {
      // ie浏览器自带下载文件的方法
      window.navigator.msSaveBlob(data, filename);
    } catch (e) {
      console.log(e);
    }
  } else {
    let elink = document.createElement("a");
    elink.download = filename + "." + ext;
    elink.style.display = "none";
    let href = window.URL.createObjectURL(blob);
    elink.href = href;
    document.body.appendChild(elink);
    elink.click();
    document.body.removeChild(elink);
    window.URL.revokeObjectURL(href); // 释放掉blob对象
  }
}

标签:axios,elink,二进制,data,window,let,blob,type,下载
From: https://www.cnblogs.com/guozhiqiang/p/18519710

相关文章

  • Adobe Creative Cloud 2025 (macOS, Windows) 下载汇总 - 创意应用程序
    AdobeCreativeCloud2025(macOS,Windows)下载汇总-创意应用程序Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeX......
  • 【Anaconda】Anaconda3 下载与安装教程(Windows 11)
    引言Anaconda发行版是一个用于数据科学、机器学习和AI项目的平台。它包括数千个开源包,一个包和环境管理器,一个桌面应用程序,以及云服务。安装步骤下载安装程序访问官方Anaconda网站下载安装程序。https://www.anaconda.com/download/以管理员身份运行安装程序......
  • 可以免费商用的字体下载
    ​ 这里收录的可以免费商用的字体,目前中文字体1308款,英文字体980款,共约2288多款字体。如帮助了您,记得Star一下,收藏不迷路。下载地址:Gitee:https://gitee.com/dengzhenhua/free-fontsGitHub:https://github.com/dengcao/free-fonts由于gitee的仓库容量受限,没法上传更多字体,缺少......
  • 高途课堂视频课程资料下载工具,如何在电脑端下载高途和途途视频课程资料到本地?
    一.安装高途/途途课程下载器1.获取学无止下载器https://www.xuewuzhi.cn/gaotu_downloader2.下载安装后,然后点击桌面快捷方式运行即可。注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。二.使用说明1.学无止下载器介绍......
  • 二进制相关
    状态压缩状态枚举利用lowbit可以快速获取所有前继的状态(100110->100100)利用for(inti=x;i;i=(i-1)&x)可以做到\(3^n\)枚举子集位运算\(\textcolor{red}{*}\)位运算优先级注意:1、加减号优先级高于一切位运算符(mid=l+r>>1);2、按位运算符(&、|、^)优先级低于数值判断号((x&1)=......
  • 2024最新多客游戏陪玩,语音聊天系统源码,IM聊天服务使用说明,欢迎学习下载!
    多客陪玩系统-游戏陪玩系统,线下家政,游戏代练系统,开黑陪玩系统:陪玩系统源码,高质量的陪玩系统源码,游戏陪玩APP源码开发,语音陪玩源码搭建多客陪玩系统,游戏开黑陪玩,线下搭子,开黑陪玩系统 系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信......
  • 如何防止服务器端的php文件被下载
    ###如何防止服务器端的PHP文件被下载在网络安全日益重要的今天,防止服务器端的PHP文件被下载是保护网站安全、保障数据不被泄露的关键措施之一。简单来说,防止PHP文件被下载主要有以下几个方法:设置正确的文件权限、配置服务器正确处理PHP文件、使用.htaccess文件防止直接访问。其......
  • 陪玩系统源码下载游戏陪玩系统源码游戏陪玩系统源码搭建游戏陪玩系统源码搭建陪玩系统
    陪玩软件线下陪玩靠谱的app陪玩平台同城线下陪玩平台怎么做陪玩接单陪玩管理系统线下陪玩线下陪玩小程序模板陪玩平台搭建国内陪玩系统陪玩实例陪玩线下系统多少钱陪玩线下陪玩开发线下陪玩陪玩系统多少钱游戏陪玩接单平台app怎么做陪玩接单陪玩价格表制作软件比较开放的陪玩......
  • dreamweaver家乡主题网页设计 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下
    家乡旅游景点网页作业制作网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠......
  • Python数据分析NumPy和pandas(十七、pandas 二进制格式文件处理)
    以二进制格式存储(或序列化)数据的一种简单方法是使用Python的内置pickle模块。同时,pandas构造的对象都有一个to_pickle方法,该方法以pickle格式将数据写入磁盘。我们先把之前示例用到的ex1.csv文件加载到pandas对象中,然后将数据以二进制pickle格式写入examples/frame_p......