导出文件

139 阅读1分钟

导出数据数据流,接口种必须添加responseType: 'blob', //处理文件流,否则导出的压缩包或者excel不能用

//导出压缩包

if (res.status === 200) {
    var blob = new Blob([res.data]);
    var downloadElement = document.createElement('a');
    var href = window.URL.createObjectURL(blob); //创建下载的链接
    downloadElement.href = href;
    downloadElement.download = this.fileName + '.zip'; //下载后文件名
    document.body.appendChild(downloadElement);
    downloadElement.click(); //点击下载
    document.body.removeChild(downloadElement); //下载完成移除元素
    window.URL.revokeObjectURL(href); //释放掉blob对象
    this.dialogFormVisible = false;
}

//导出excel

const link = document.createElement('a')
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = res.headers['content-disposition'] //下载后文件名
link.download = '导出文件' //下载的文件名
document.body.appendChild(link)
link.click()
document.body.removeChild(link)