`
Action-人生
  • 浏览: 99406 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

SpringMVC -ResponseBody文件上传下载IE浏览器弹出下载框

阅读更多
IE浏览器,进行文件上传下载rseponseBody返回json弹出下载框,原因在于ie浏览器不能识别
application/json;charset=UTF-8类型json

首先了解概念
text/html & text/plain的区别
   Content-Type:用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据
  MIME:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。

text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。
解决:
方法一:从Java代码返回值入手
response.setContentType("text/html;charset=UTF-8");
PrintWriter writer=response.getWriter();
witer.writer("您要返回给前台的字符串")或者witer.print("您要返回给前台的字符串")

方法二:从spring配置文件入手
在applicationContext-mvc.xml文件添加如下:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
  <property name="messageConverters">
    <list>
         <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
          <property name="supportedMediaTypes">
                <list>
                     <value>text/html;charset=UTF-8</value>
                     <value>text/plain;charset=UTF-8</value>
                     <value>application/json;charset=UTF-8</value>
                 </list>
           </property> 
      </bean>
     </list>
</property>
<mvc:annotation-driven>

注意:该配置一定要放在<mvc:annotation-driven>之前,否则不能正常处理参数类型转换
方法三:从spring配置文件入手
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdater">
   <property name="messageConverters">
     <list>
          <ref bean="mappingJackHttpMessageConverter">    
     </list>
</property>
</bean>

<bean id="mappingJackHttpMessageConverter"  class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
          <property name="supportedMediaTypes">
                <list>
                     <value>text/html;charset=UTF-8</value>
                     <value>text/plain;charset=UTF-8</value>
                     <value>application/json;charset=UTF-8</value>
                 </list>
           </property> 
      </bean>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics