天天看点

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

这几天一直很纳闷,在Tomcat部署的网站中的下载文件中,如果文件是rar类型的,一点击下载rar文件就直接打开,并且出现乱码,右键另存为浏览器也是默认为html格式,一直以为是浏览器IE的问题,后来发现其实不关浏览器的问题,而是Tomcat服务器配置的问题,具体如下:

web.xml文件中配置<mime-mapping>下载文件类型

TOMCAT在默认情况下下载.rar的文件是把文件当作text打开,以至于IE打开RAR文件为乱码,如果遇到这种情况时不必认为是浏览器的问题,大多数浏览器应该不会死皮赖脸地把二进制文件当作文本打开,一般都是服务器给什么浏览器就开什么.解决方法: 

 打开conf/web.xml,加入下面的代码. 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-mapping> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>doc</extension>

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/msword</mime-type> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 </mime-mapping> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>xls</extension> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/msexcel</mime-type> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>pdf</extension> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/pdf</mime-type> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 </mime-mapping>

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>zip</extension> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/zip</mime-type> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>rar</extension> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/rar</mime-type> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>txt</extension> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/txt</mime-type> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <extension>chm</extension> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-type>application/mshelp</mime-type>

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <mime-mapping>

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

  <extension>mp3</extension>

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

  <mime-type>audio/x-mpeg</mime-type>

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案
Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 重启TOMCAT,清除IE缓存,再打开RAR的文件时就可以正常下载了. 

 不同的ContentType 会影响客户端所看到的效果.

 默认的ContentType为 text/html  也就是网页格式.

 代码如:

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="text/html" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/ContentType.html" -->

 显示的为网页,而

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="text/plain" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/sscript/ContentType.html" -->

 则会显示html原代码.

 以下为一些常用的 ContentType

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

GIF images 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="image/gif" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myimage.gif" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 JPEG images 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="image/jpeg" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myimage.jpeg" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 TIFF images 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="image/tiff" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myimage.tiff" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 MICROSOFT WORD document 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="application/msword" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myfile.doc" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 RTF document 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="application/rtf" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myfile.rtf" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 MICROSOFT EXCEL document 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="application/x-excel" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myfile.xls" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 MICROSOFT POWERPOINT document 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="application/ms-powerpoint" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myfile.pff" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 PDF document 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="application/pdf" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myfile.pdf" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 ZIP document 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <% response.ContentType ="application/zip" %>  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 <!--#i nclude virtual="/myfile.zip" --> 

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 下面是更详细的ContentType

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

application/andrew-inset ez  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/mac-binhex40 hqx  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/mac-compactpro cpt  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/mathml+xml mathml  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/msword doc  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/octet-stream bin dms lha lzh exe class so dll  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/oda oda  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/ogg ogg  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/pdf pdf  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/postscript ai eps ps  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/rdf+xml rdf  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/smil smi smil  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/srgs gram  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/srgs+xml grxml  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.mif mif  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.mozilla.xul+xml xul  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.ms-excel xls  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.ms-powerpoint ppt  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.wap.wbxml wbxml  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.wap.wmlc .wmlc wmlc  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/vnd.wap.wmlscriptc .wmlsc wmlsc  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/voicexml+xml vxml  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/x-bcpio bcpio  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/x-cdlink vcd  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/x-chess-pgn pgn  

Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

 application/x-cpio cpio  

上一篇: 快速排序

继续阅读