JS:axios请求后端下载Excle文件

本文介绍了两种使用axios在前端从后端下载Excel文件的方法:一是通过修改请求头,让后端返回blob格式;二是前端自己将返回的数据转换成blob。详细探讨了这两种实现方式。
摘要由CSDN通过智能技术生成

简介

记录一下前段时间学习的关于使用axios向后端发送请求,获取要下载的文件。返回内容就如下所示,是一堆编码乱码的样子。
在这里插入图片描述

具体实现

方式一:修改请求头,规定返回blob格式
let that = this
let params = {
  examId: that.examId,
};
that.$_http
  .get(
    that.$_API.INTERFACE_GET_USER_EXAM_FILE_BY_ADMIN, { params },
    {
      headers: { 'Content-Type': 'application/x-download' },
      responseType: 'blob',
    }
  )
  .then((res) => {
    if (res.data) {
      const link = document.createElement('a'); // 创建一个a标签的DOM
      link.style.display = 'none'; // 隐藏它
      link.href = URL.createObjectURL(res.data); // 把请求回来的编码,转换为一个链接地址
      let fileName = `试卷_${that.examDetailData.name}.xls`; // 重命名,注意文件格式,此处是xls
      link.setAttribute('do
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值