WPS2018造成的HTML5 file.type值异常的解决方法

杨哲4978

杨哲4978

2016-02-19 16:52

今天图老师小编给大家精心推荐个WPS2013造成的HTML5 file.type值异常的解决方法教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

处理代码的兼容性是前端攻城师们的家常便饭了,一般是对各种浏览器进行兼容性处理。但是有时候我们也会遭遇到浏览器以外的影响因素,这个是经常会被忽视掉的内容。比如前几天就听说客户端安装迅雷、暴风影音等软件会修改http连接数,从而影响浏览器的http并发数。今天有幸,让我见识了另一个因客户端安装个别软件而造成的程序兼容问题。罪魁祸首便是金山WPS2013.

故事的开始是这样的。。。我用HTML5写了一个文件上传插件,其中使用到了file API,在验证文件类型的时候使用了file.type获取的文件MIME类型,如果获取的值在允许列表中,就让其通过验证。插件写完了,应用到了项目中,提交测试了,一切都很顺利。

然后今天,一个测试MM却来找我,说文件上传功能不好使,明明选择了一个word文件,却提示文件类型不允许。刚开始我还不屑一顾,以为肯定是她的操作有问题,但是当我亲手试了一遍后,发现确确实实是有问题!一个普普通通的word文件而已,能有什么蹊跷?于是我顺着流程打印出来一些调试信息,发现了一个惊天大阴谋,在测试MM的机器上,获取到的这个word文件的MIME类型竟然是application/kswps。并不是doc文件正常的application/msword,或是docx文件的application/vnd.openxmlformats-officedocument.wordprocessingml.document。遂询问妹子的机器是不是安装了金山WPS,得到了肯定回答。从名字不难看出,文件的MIME类型被金山WPS给修改了(虽然给文件是用微软office创建的)。有图有真相:

WPS2013造成的HTML5 file.type值异常的解决方法

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

未安装WPS,获取到的doc和docx文件的type都是正常的

WPS2013造成的HTML5 file.type值异常的解决方法

安装WPS2013后,doc和docx文件的type都变成了application/kswps

由于我的允许列表中没有这样的值,自然也就不能验证通过了。解决办法用脚趾头都能想出来,把这个application/kswps也加到允许列表中不就OK啦~正当我以为这就解决了问题准备卸载掉WPS时,谁知故事还没有结束。。。请看我卸载掉WPS后获取到的type值:

没有了?没有了!变成空了!尼玛,金山你到底对我的电脑做了什么!拿不到type值了,那我还怎么验证。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

随后,我修改了文件类型验证方式,通过后缀名来检查,这样就不会受到MIME类型不一致的干扰了。问题虽然就此解决,但心中始终留有一丝对金山WPS的不解。另外,以上这种情况只出现在金山WPS目前的最新版9.1上,也就是WPS2013。我试着安装了8.1版本,是没有这个现象的。不知金山WPS是否会注意到此问题。

展开更多 50%)
分享

猜你喜欢

WPS2018造成的HTML5 file.type值异常的解决方法

电脑入门
WPS2018造成的HTML5 file.type值异常的解决方法

IE支持HTML5的解决方法

Web开发
IE支持HTML5的解决方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

HTML5 File API改善网页上传功能

Web开发
HTML5 File API改善网页上传功能

IOS中html5上传图片方向问题解决方法

编程语言 网络编程
IOS中html5上传图片方向问题解决方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

HTML5 离线应用之打造零请求、无流量网站的解决方法

Web开发
HTML5 离线应用之打造零请求、无流量网站的解决方法

Linux系统造成处理Tomcat异常的原因和解决方法

服务器
Linux系统造成处理Tomcat异常的原因和解决方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Memory DC 与hBitmap

Memory DC 与hBitmap

如何用程序来Delete Copy Move Rename File/Directory

如何用程序来Delete Copy Move Rename File/Directory
下拉加载更多内容 ↓