下载
接口responseType设置为responseType: ‘arraybuffer’
async function handleDownload(record: { id:string }) {
const res = await jiekou({
id: record.id, // 入参
})
exportFile(res, '文件名称')
}
/**
* 下载文件
* @param content
* @param filename
*/
export function exportFile(content: string | ArrayBuffer, filename: string) {
// 字符内容转变成blob地址
const blob = new Blob([content])
if ('msSaveOrOpenBlob' in navigator) {
// IE导出
window.navigator.msSaveOrOpenBlob(blob, filename)
} else {
// 创建隐藏的可下载链接
const eleLink = document.createElement('a')
eleLink.download = filename
eleLink.style.display = 'none'
eleLink.href = URL.createObjectURL(blob)
// 触发点击
document.body.appendChild(eleLink)
eleLink.click()
// 然后移除
document.body.removeChild(eleLink)
}
}