util.exportUrl=function(url,mthod,data){ const a = document.createElement('a') // 使用fetch方法获取response.headers响应头 fetch(url, { method: mthod, body: JSON.stringify(data), headers: { token: localStorage.getItem('token'), 'Content-Type':'application/json;charset=UTF-8' }, }).then(res => { // 切割出文件名 const fileNameEncode = res.headers.get('content-disposition').split(';')[1].split('filename=')[1] // 解码 const fileName = decodeURIComponent(fileNameEncode) console.log('fileName', fileName) // 使用blob()方法获取blob对象数据 res.blob().then( res => { // 设置type类型 const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; application/octet-stream' }) const fileUrl = window.URL.createObjectURL(blob) a.href = fileUrl a.setAttribute('download', fileName) a.style.display = 'none' a.click() a.remove() } ) }) },
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了