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

2016-02-19 16:52 10 1 收藏

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

【 tulaoshi.com - WPS教程 】

处理代码的兼容性是前端攻城师们的家常便饭了,一般是对各种浏览器进行兼容性处理。但是有时候我们也会遭遇到浏览器以外的影响因素,这个是经常会被忽视掉的内容。比如前几天就听说客户端安装迅雷、暴风影音等软件会修改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值异常的解决方法

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/wpsjc/)

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/wpsjc/)

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

来源:http://www.tulaoshi.com/n/20160219/1613400.html

延伸阅读
标签: Web开发
HTML5之前,要实现网页元素的拖放操作,需要依靠mousedown、mousemove、mouseup等API,通过大量的JS代码来实现;HTML5中引入了直接支持拖放操作的API,大大简化了网页元素的拖放操作编程难度,并且这些API除了支持浏览器内部元素的拖放外,同时支持浏览器和其它应用程序之间的数据互相拖动。 本文通过一个简单示例,演示HTML5中拖放API的使用...
标签: Web开发
W3C 在 2008年 1 月 22 日发布了最新的 HTML 5 工作草案。HTML 5 工作组包括 AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera 以及数百个其他的开发商。HTML 5 中的一些新特性:嵌入音频、视频、图片的函数、客户端数据存储,以及交互式文档。其他特性包括新的页面元素,比如 header, section, footer, 以及 figure。 通过制...
标签: 服务器
Linux中提示No such file or directory解决方法   问题描述 解决方法 分析原因,可能因为我平台迁移碰到权限问题我们来进行权限转换 1)在Windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File--Conversions--DOS-UNIX即可。 2...
标签: Web开发
这两天需要用到同事HTML5画图的东东,发现里面画矩形的函数画出来的边框出现了样式不一致的问题,最后我通过一些排除法找到了问题的症结,现分享给大家。 先附上HTML5画矩形的的代码: 代码如下: canvas id="myCanvas" width="578" height="200"/canvas script var canvas = document.getElementById('myCanvas'); var context =...
标签: Web开发
1、标签不再区分大小写 代码如下: pHello,World!/P 2、元素可以省略结束标签 (1)空元素语法的元素:area、base、br、col、command、embed、hr、img、input、keygen、link、mata、param、source、wbr (2)可以省略结束标签的元素:colgroup、dt、dd、li、optgroup、p、rt、rp、thread、tbody、tfoot、tr、td、th (3)可以全部省略...

经验教程

343

收藏

94
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部