文件上传遇到的兼容问题

samgui(三桂)

最近做了个上传身份证信息的功能模块,由于表单采用原生的POST请求,再简单不过的表单提交,当时在chrome和firefox以及IE11下自测通过然后在低版本的IE下看了下样式没问题就发布了,上线没多久就有同事反馈问题说低版本IE(IE9-)上传不了图片,后来定位到是兼容模式下浏览器采用了特殊手段改变了文件的MIME类型,导致后端在做文件类型判断的时候漏掉了,进而表现为用户侧提交不了表单,提示图片格式有误,算是个兼容性的坑。

附上浏览器对图片反映出的ContentType如下:

IE6 IE8 Chrome Firefox
png image/x-png image/x-png image/png image/png
jpg image/pjpeg image/jpeg image/jpeg image/jpeg
jpeg image/pjpeg image/pjpeg image/jpeg image/jpeg
bmp image/bmp image/bmp image/bmp image/bmp

参考

http://www.cnblogs.com/liszt/archive/2010/12/31/1923134.html