/**
* 导出全周期模版
* @param paramMap proNo:项目编码,projectCycleVersion:项目周期版本
* @param successFunc 成功消息回调函数
* @param errorFunc 失败消息回调函数
*/
exportModal(paramMap) {
// responseType: 'blob' 获取了文件的二进制流
this.http.post('api/s01cross/b04/exportmonfinana', paramMap,
{responseType: 'blob', observe: 'response'}).subscribe(data => {
const link = document.createElement('a');
const blob = new Blob([data.body], {type: 'application/vnd.ms-excel'});
let fileName = data.headers.get('Content-Disposition').split(';')[1].split('filename=')[1];
const fileNameUnicode = data.headers.get('Content-Disposition').split('filename*=')[1];
// 当存在 filename* 时,取filename* 并进行解码(为了解决中文乱码问题)
if (fileNameUnicode) {
fileName = decodeURIComponent(fileNameUnicode.split('\'\'')[1]);
}
link.setAttribute('href', window.URL.createObjectURL(blob));
link.setAttribute('download', fileName);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
});
}
网友评论