原创 IE9与文件上传兼容问题(文件上传成功但是返回上传失败)

IE的老版本浏览器真的是一个让程序员感慨良多是非之物

遇到了这么一个问题:

开发需要兼容IE9而且还需要传文件,怎么办!

这里推荐一个非常不错的组件——Web Uploader

在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。

这是官网的介绍,真的是魅力无穷,事实上,使用起来也真的是得心应手,不需要再去想兼容问题了

但是,还是存在这么一个问题,那么就是

文件上传成功但是返回上传失败

其实是因为json和IE9不是一路人,正常现在开发返回的是json对象之类的,这个就会导致IE9无法正确解析RESPONSE, Web Uploader得到的结果让它无法进入正确的回调函数,所以即使后台上传成功,前台依然告诉你 上传失败

显而易见,我们在这里不能使用json格式的返回

IE9支持这样的一种格式: text/plain

那么我们需要怎么更改Controller呢

首先,不能返回Json对象了

这里就需要把需要返回的数据,通过JSON.toJSONString()

然后参数部分,依然使用 MultipartFile file参数接受文件

不过这个时候使用的注解是 @RequestBody 加载file前面

——————————————

这样,问题就基本解决了!

博文是作者原本在其他平台的,现迁移过来

你可能感兴趣的:(java,文件上传)