mockjs导致element-ui upload组件的on-progress和axios的responseType失效

公司最近换了一个新的框架,还没有仔细的研究透,就需要用新框架来开发项目了。那没办法只能走一步看一步了。

1.element-ui el-upload

  项目需求中需要附件上传,那简单,就用element-ui的upload组件嘛。咦!?,上传时候的进度条呢?注册的on-process事件也不触发了!那就百度。。。。。。。哦?原来是mockjs搞得鬼。参考链接:https://github.com/nuysoft/Mock/issues/244

2.axios的responseType配置

  之前项目中的文件下载、图片展示以及pdf的在线预览(使用pdf.js)都是通过后端直接返回文件在服务器上的url来操作的,但现在改成通过调取相应的接口来返回文件流,那也没事,通过blob对象来实现嘛。不过首先得设置axios的responseType为blob,不然就会出现文件内容乱码的问题。嗯!?不对啊,为毛设置了还是没效果。正常情况下设置了blob的,axios会自动帮我们将文件流转化成blob对象:。但是,现在却不生效了:。那就再百度。。。。。。哦?原来还是mockjs搞得鬼。参考链接:https://blog.csdn.net/weixin_42142057/article/details/97655591

总结:mockjs会创建一个新的XMLHttpRequest对象,并且有着自己的原始配置。所以导致覆盖了axios的配置(responseType等)和el-upload组建中创建的XMLHttpRequest。

原文地址:https://www.cnblogs.com/luyuefeng/p/12102644.html