Mock.js 拦截了二进制流数据的请求.md
背景
在一次开发中,客户提出我们提供的 SDK 无法正常使用,但是我们提供的 demo 可以正常使用。后经对比排查发现,客户的项目中引入了 Mock.js 而导致的 SDK 中对二进制资源的请求被拦截并进行了处理,导致请求的资源发生错误。
产生的原因
后通过在 Mock.js 的 repo issues 里也有搜索到 相关 issue。
原因在于引入 Mock.js 发出请求后,服务器端返回的文件为二进制流,原生请求会正常的将其作为 blob 对象返回,而 Mock.js 则会将其转为字符串,Mock.js 完全重写了原生的 XMLHttpRequest。
如何解决
可以参考该 comm
阅读更多