接口
// 导出Excel
export function exportByIds(data) {
return request({
url: '/student/apply/exportByIds',
method: 'post',
timeout: 300000,
responseType: 'blob',
data
})
}
第一种:方法methods
exportByIds({ ids: this.multipleSelection }).then((response) => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.href = href
downloadElement.download = '已审核列表.xlsx' // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href) // 释放掉blob对象
})
第二种:方法调用
export function downloadBlobFile(blob, filename, type) {
if (blob && blob.size === 0) {
('内容为空,无法下载');
return;
}
const link = document.createElement('a');
const binaryData = [];
binaryData.push(blob);
link.href = window.URL.createObjectURL(new Blob(binaryData));
if (!!filename) {
link.download = filename;
} else {
link.download = `${new Date().getTime()}.${type || 'xlsx'}`;
}
document.body.appendChild(link);
link.click();
window.setTimeout(function () {
window.URL.revokeObjectURL(blob);
document.body.removeChild(link);
}, 0);
}