Axios+js 接收文件流下载文件到前端

 

Axios 中文官网 https://www.axios-http.cn/docs/intro

引入axios.min.js

注意:

1. responseType: 'blob'  需要设置为blob

2.blob 类型  可以参考 Blob 下载文件时 type 类型 大全_派大星1的博客-CSDN博客_blob type

3.生成下载url

3.创建a标签,手动触发click后移除

function DownImportFile(taskId, project) {

    axios.get(BaseAPI.ProjectURI.Export.GetImportFile.replace('{taskId}', taskId), { responseType: 'blob' })
        .then(res => {
            let blob = new Blob([res.data], {
                type: 'application/vnd.ms-excel'
            });
            let objctUrl = URL.createObjectURL(blob);
            var link = $('<a href="' + objctUrl + '" download="' + project.projectName + project.projectNum + '.xlsx"></a>');
            link.get(0).click();
            URL.revokeObjectURL(blob);
        })
}

 

posted @ 2022-06-23 09:50  StarsOverTheSea  阅读(551)  评论(0)    收藏  举报