直接复制下面函数到antdesign Pro中实现文件下载
/**
* 异步文件下载功能
* @param url 文件url地址
* @param filename 导出的文件名
*/
async function download(url: string, filename: string = 'test.xlsx') {
let blob = await request(url, {
responseType: 'blob' }); // 设置responseType响应类型为blob,响应的直接是个blob对象
let reader = new FileReader(); // 创建一个file对象
reader.readAsDataURL(blob); // 转换为base64,可以直接放入a标签的href
reader.onload = function (e: any) {
// 转换完成,创建一个a标签用于下载
let a = document.createElement('a');
a.download = filename;
a.href = e.target.result;
// 在body中插入a元素
document.body.insertAdjacentElement('afterend', a);
a.click();
a.remove();
}
}