/**
* 导出全周期模版
* @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);
});
}
angular ajax 下载流文件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 项目的管理后台有导出功能,原来是前端用ajax调取接口返回一个url,前端再下载,但是这样就需要后台在后端生成ex...
- 遇到的问题与https://www.cnblogs.com/qlqwjy/p/8971207.html这位童鞋相同...
- 有一个需求是用户批量生成账号后,可以选择是否将刚生成的账号生成Excel.当时想的就是做一个弹窗 用户点击是 就可...