由于刚学了VUE不久,不清楚底层逻辑。我遇到从后台下载文件无法打开的问题。
测试下来是,请求时未设置 responseType: 'blob'。
axios 默认的 responseType 是 'json' ,会尝试将响应体解析为JSON。但文件下载场景需要后端返回二进制流(如Excel、PDF等),此时若未显式设置 responseType: 'blob' ,axios 会错误解析二进制数据(例如将其转为字符串或解析失败),导致 response.data 内容异常(如乱码或空值),最终生成的 Blob 内容为空。