IE兼容模式文件上传所遇问题解决

     近期搭建erp新架构的时候,遇到一个文件上传问题,下面谈一下问题的出现和解决过程。

     项目技术架构如下,springboot+jquery+adminlte+jpa+spring jdbc。前端做文件上传采用了jquery.form.js的ajaxSubmit方法,该方法可实现页面无刷新提交form表单以及文件上传。功能开发所用浏览器是谷歌,但是因为要求兼容ie,特别是要在ie兼容模式下也能使用。功能开发完毕后,谷歌下完美运行,但是在ie兼容模式下,却报错了,点了保存按钮后,数据提交到了后端,后端报错了,前端浏览器也因为后端报错无法返回,控制台也出现了错误信息。错误信息如下:

IE
application download did not succeed,check your

IE


SCRIPT65535: 意外地调用了方法或属性访问(ie不兼容解决办法)


springmvc:
current request is not a multipart request



一开始看到ie报错,第一反应是js不兼容,比如jquery版本或者jquery.form.js版本不兼容,一度试图更换版本,但是后来,调试后,发现请求能到后端,而且后端报错了,便顺着springmvc的报错解决问题。报错提示请求不是一个多媒体请求类型,那么问题很可能就是请求类型没有设置正确。后来经过调试发现不是这个问题,而是响应类型的问题,便在后端获取到httpservletresponse对象,然后设置响应类型为text/html.但是依然没用。偶然看到requestmapping可以通过prodeces属性设置响应类型,抱着试一试的心态,设置了响应类型@RequestMapping(value="/save",produces="text/html;charset=utf-8")问题就解决了。

你可能感兴趣的:(问题经验积累)