美文网首页
Vue axios授权下载文件

Vue axios授权下载文件

作者: Linseed | 来源:发表于2021-04-09 17:10 被阅读0次
    import axios from 'axios';
    
    /**
     * 授权下载文件
     * @param {*} url  
     * @param {*} contentType   xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
     *                           xls: 'application/vnd.ms-excel'
     * @param {*} fileName  下载文件名   "test.xls"
     */
    export function downloadFile(url, contentType, fileName) {
      let token = sessionStorage.getItem('token')
      axios.request({
        url: url,
        headers: { 'token': token },//验证头信息
        responseType: 'blob'
      }).then(res => {
        const blob = new Blob([res.data], { type: contentType })
        const link = document.createElement('a');  // 创建a标签
        link.style.display = 'none';
        link.href = URL.createObjectURL(blob);   // 创建下载的链接
        link.setAttribute('download', fileName);  // 给下载后的文件命名
        document.body.appendChild(link);
        link.click();  // 点击下载
        document.body.removeChild(link);  //  完成移除元素
        window.URL.revokeObjectURL(link.href);  // 释放blob对象
      });
    }
    

    相关文章

      网友评论

          本文标题:Vue axios授权下载文件

          本文链接:https://www.haomeiwen.com/subject/ajcwkltx.html