uploadify图片上传控件在ie下报http406问题

     前端使用uploadify图片上传控件,后端使用spring mvc框架,ajax上传图片在ie浏览下报http406错误,如图1:


图1:错误消息

经本地debug调试,uploadify控件在ie浏览器下request header accept为“text/*”,而在chrome浏览器下为“*/*”;

补充下Http请求头accept属性含义:Accept代表发送端(客户端)希望接受的数据类型;查看MediaType.java可查询所有数据类型;eg:Accept ; text/html application/xhtml_xml,application/xml;text:用于标准化地表示的文本信息,文本消息可以是多种字符集或多种格式的;text/html 表示html文档Application:用于传输应用程序数据或者二进制数据;application/xml 表示xml文档;如图2:

图2:accpet数据类型枚举类

继续debug发现ajax请求,返回结果转化为前台所需json数据时,spring mvc框架会根据返回结果选择可客户端所接受的类型,AbstractMessageConverterMethodProcessor.java部分源码如下:

判定客户端所能接受数据类型

例如:注解为@ResponseBody数据返回类型为Map<String,Object>,其可接受的数据类型为application/json和application/*+,若数据返回类型为String,其可接受的数据类型为*/*;

       由于uploadify控件在ie下请求request头header accpet为“text/*”,而返回类型只能接受application/json和application/*+,因此会报错,错误信息大致如下:org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

解决方案:

1、spring json解析配置supportedMediaTypes属性增加text/json;

spring mvc bean配置

2、设置reponse head accept 为“application/json”,使用处理流方式实现json输出;

第一次写博客,你的点赞是我最大的支持!本文为作者原创,转载请标明出处:http://www.jianshu.com/p/688ac5ad2764

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,958评论 6 342
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,524评论 0 17
  • 小朋友自我意识的萌芽都是从宣布主权开始。 佳佳有了喜欢的小伙伴叫安妮,只要叫她出门,就会跳起来欢呼:“找安妮姐姐玩...
    大乔小生活阅读 254评论 0 0
  • 她自称“李老师”,个性签名为“我就是嫣儿,关注我一定让你变女神”,号称“菲姐的时尚只有我能跟得上”,又表示“从来没...
    水若素阅读 929评论 0 5