事件
后端接口返回的二进制流,竟然乱码?
一开始,我是以为本来就长这样,然后我就熟练的 new Blob()
…
总说我文件损坏,好吧,是我比较菜,方法可能不正确
各种百度转 blob
,生成 URL
当然还是失败告终
捣鼓了大半天,axios 配置也看了一遍,可是咋就是不行呢。。
this.axios.get(url, null, {responseType: 'blob'})
- 1
大半天后
找到同样遇到这个问题已经解决的大佬, mockjs
真是藏得好深啊~~
mock模块会影响原生的ajax请求,使得服务器返回的blob类型变成乱码
vue axios(下载文件流)设置返回值类型responseType:'blob’无效的问题
解决方案
-
别用
mockjs
了 -
改下源码
dist/mock.js
大约在 8683 行
加一行代码
this.custom.xhr.responseType = this.responseType
最后
特此记下来,希望帮助后面的人少踩坑🚨