js常用方法-文件导出功能

前端请求后台接口返回数据流调用方法进行下载

api请求

加上:responseType: ‘blob‘

 1     // 文件数据流导出
 2     postBlob: function (url, data) {
 3         return axios({
 4             method: ‘post‘,
 5             url: reqUrl + url,
 6             data: data,
 7             headers: {
 8                 ‘Authorization‘: window.sessionStorage.getItem(‘accessToken‘),
 9                 ‘IamAccessToken‘: window.sessionStorage.getItem(‘iamAccessToken‘),
10                 ‘Content-Type‘: ‘application/json‘,
11                 ‘Access-Control-Allow-Origin‘: reqUrl
12             },
13 
14             // 文件下载返回数据流
15             responseType: ‘blob‘
16         });
17     }

方法

 1 /**
 2      * @param
 3      * @returns {obj}
 4      * 文件导出功能
 5      * 文件格式:.xlsx
 6      * data:【必传】文件下载接口返回的数据流
 7      * name:导出的文件命名,不传默认为时间命名,(字符串,一般为中文+年月日时分秒,配合getCurrentDate方法)
 8      * 例:平台设备统计明细2020-10-30 15_30_56.xlsx
 9      */
10     static downloadFile(data, name) {
11         let fileName = ‘‘;
12         if (String(name) !== ‘undefined‘) {
13             fileName = String(name);
14         } else {
15             fileName = this.getCurrentDate();
16         }
17         let blob = new Blob([data], {
18             type: ‘application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘
19         });
20         let url = window.URL.createObjectURL(blob);
21         const link = document.createElement(‘a‘); // 创建a标签
22         link.href = url;
23         link.download = fileName; // 重命名文件
24         link.click();
25         URL.revokeObjectURL(url); // 释放内存
26     }

 

js常用方法-文件导出功能

上一篇:Linux计划任务,自动删除n天前的旧文件【转】


下一篇:0.Win8.1,Win10,Windows Server 2012 安装 Net Framework 3.5