export function download(url, params, filename) { downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) return service.post(url, params, { transformRequest: [(params) => { return tansParams(params) }], headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, responseType: 'blob' }).then(async (data) => { const isLogin = await blobValidate(data); if (isLogin) { const blob = new Blob([data]) saveAs(blob, filename) } else { const resText = await data.text(); const rspObj = JSON.parse(resText); const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] Message.error(errMsg); } downloadLoadingInstance.close(); }).catch((r) => { console.error(r) Message.error('下载文件出现错误,请联系管理员!') downloadLoadingInstance.close(); }) }为什么我这串代码下载的xlxs文件打不开
时间: 2024-04-27 08:19:15 浏览: 212
Spinner控件的使用
这段代码中使用了 `Content-Type` 为 `application/x-www-form-urlencoded` 的请求头,这可能会导致在下载 Excel 文件时出现问题。建议将请求头改为 `multipart/form-data` 或 `application/json`,以便正确处理二进制数据。另外,还需确认服务端是否正确处理并返回了正确的 Excel 文件数据。最好的方法是在服务端进行测试,确保返回的数据符合预期。
阅读全文