export function export(params = {}) { return request({ url: '/export', method: 'post', data: params, responseType: 'blob'//此处需为blob类型 }) }
exportClick () { export().then(res => { const content = res//后端通过response.getOutputStream.write(byte[])方法写入文件内容,返回到res中 const blob = new Blob([content]) const fileName = '导出信息.xlsx' if ('download' in document.createElement('a')) { // 非IE下载 const elink = document.createElement('a') elink.download = fileName elink.style.display = 'none'//可省略 elink.href = URL.createObjectURL(blob) document.body.appendChild(elink)//可省略 elink.click() URL.revokeObjectURL(elink.href) // 释放URL 对象 document.body.removeChild(elink)//可省略 } else { // IE10+下载 navigator.msSaveBlob(blob, fileName) } }) }
来源:oschina
链接:https://my.oschina.net/ffse54s/blog/4493031