vue项目中excel导出乱码

349 阅读1分钟

在vue项目中 一般是前端调用接口 得到后端返回的二进制流文件 然后转换格式 变成excel表格来进行导出的

最近我遇到了一个问题 就是导出后会出现乱码 当时就排查了很多的问题 在网上说发请求的时候要加上response:'blob' 但是我也加上了 还是乱码 之后就和后端一起检查了很久 都发现没什么问题 但是就是一直乱码 很疑惑 最后才找到了原因 就是因为项目中引用了mock.js导致的 他会把你加上的responseType='blob'变成空 具体问题一步一步说

首先在node_modules里找到mockjs-x 在这里插入图片描述

里面的responseType变会置空在这里插入图片描述 这样的话你加了responseType也没效果 会被置空 所以找到这句话 添加上面注释的这一句话即可 在这里插入图片描述 但是我们是不可以直接修改node_modules里的源码的 不然发到生产环境 还是没有变化
找了好久我发现了 项目中引用了mock的地方 我不能注释掉mock的引用 因为别的地方都使用了 所以我修改了一点代码 比如在调用这个接口的时候 改变responseType 就好了 在这里插入图片描述