最近在做的项目,采用Extjs4.2+Spring 3.x+Hibernate技术。其中涉及到图片上传的问题,程序写完后在chrome和Firefox浏览器中都能正常运行。但是在IE10中,上传提示让下载后台返回json。上网查了一天,发现问题是后台controller返回使用@ResponseBody注解,返回的数据的头格式是application/json,但是IE10不支持这个格式。需要将返回数据的头格式改为text/html。
解决办法如下:
1.删除@ResponseBody
2.函数类型使用public ResponseEntity<String>,
函数内部设置返回内容的头格式
HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_HTML);
返回结果采用return new ResponseEntity<String>("{'success':true}",
headers, HttpStatus.OK);
这样在IE中上传就不会出现下载json的情况了。