文件分装下载接口
export function exportExcel() {
return request({
url: 'xxxxxxxxxxxxxxxxxx',//下载的后台接口
method: 'get',
responseType: 'blob' //重要 重要 重要
})
}
页面,点击按钮,调用下载方法
<el-button type="primary" @click="handleDown">下载</el-button>
页面,导入下载接口
import {exportExcel} from "@/api/xxx/xxx" //接口所在的路径
4.下载方法中调用下载文件接口,并对下载的文件流进行处理,生成对应文件
handleDown(){
exportExcel().then(response=>{
if(response){
//1.我们需要通过blob对象来处理,需要模拟一个<a>标签来提供下载链接
const elink = ('a');
= 'none';
//是二进制大对象,接受后台返回的数据流,导出数据
const blob = new Blob([response], { type: 'application/' });
//3.创建一个url 对象,并将blob实例作为参数传入,这样href的值就是以blob开头的一个文件流下载链接,类似于href="blob:http://127.0.0.1xxxxx"
const blobUrl = (blob);
= blobUrl;
= this.$t('server.field_table_user_manage');//下载后的文件名
//4.将a标签加入body,并手动点击触发下载
(elink);
();
(elink);
}
})
}