一、应用 axios 下载文件

1、创立一个对象,用于配置接口信息

  let myObj={    url: process.env.VUE_APP_BASE_API + api/studentList',    method: 'get',    fileName: 'studengListFile',    params:{接口的params参数}  }

2、封装一个 axios 下载文件的办法

exportMethod(data) {  axios({    method: data.method,    url: `${data.url}`,    responseType: 'blob',    params:data.params?data.params:null  }).then((res) => {    if(res.data.type=='application/octet-stream'){      const link = document.createElement('a')      let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'})      link.style.display = 'none'      link.href = URL.createObjectURL(blob)      link.download = data.fileName //下载的文件名      document.body.appendChild(link)      link.click()      document.body.removeChild(link)      return;    }    var reader=new FileReader()    reader.onload=e=>{      let res=JSON.parse(e.target.result);      let error_html="<p><div>"+(i18n.tc(res.key) || 'Error');      error_html+="</div></p>";      let msg= Message({        dangerouslyUseHTMLString:true,        message: error_html,        type: 'error',        duration: 5 * 1000      })    }    reader.readAsText(res.data)  }).catch(error => {    console.log('接口调用失败:',error)  })}

3、调用办法,并传入后面配置的接口对象

exportMethod(myObj)

二、PUT 申请 params 传参蕴含数组的解决方法

先写代码了,今天持续