这里是web端下载,小程序端要将二进制文件转换为arraybuffer格式
// 导出
export function ZTexport(data) {
return request({
url: 'url',
method: 'post',
data,
//响应数据格式
responseType: 'blob',
})
}
//批量导出
exportData() {
if (this.ids.length > 0) {
//请求接口返回res二进制文件流
ZTexport({ ids: [...this.ids] }).then((res) => {
if (res) {
//创建blob对象
const url = new Blob([res]);
//创建下载链接
const aURL = URL.createObjectURL(url);
//创建a标签
const aD = document.createElement("a");
//下载文件名与拓展名
aD.download = "自定义文件名.xlsx";
//隐藏a标签
aD.style.display = "none";
//将下载链接给a标签
aD.href = aURL;
//将a标签追加到body
document.body.appendChild(aD);
//点击a标签
aD.click();
//移除链接
aD.removeAttribute(aD.href);
//移除a标签
document.body.removeChild(aD);
}
});
} else {
Message.warning("请选择需要导出的数据");
}
},