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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

zting科技 2017-01-17 14:31:00 浏览474
展开阅读全文

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

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

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

 <mime-mapping> 
 
<extension>doc</extension>
 
<mime-type>application/msword</mime-type> 
 
</mime-mapping> 
 
<mime-mapping> 
 
<extension>xls</extension> 
 
<mime-type>application/msexcel</mime-type> 
 
</mime-mapping> 
 
<mime-mapping> 
 
<extension>pdf</extension> 
 
<mime-type>application/pdf</mime-type> 
 
</mime-mapping>
 
<mime-mapping> 
 
<extension>zip</extension> 
 
<mime-type>application/zip</mime-type> 
 
</mime-mapping>
 
<mime-mapping> 
 
<extension>rar</extension> 
 
<mime-type>application/rar</mime-type> 
 
</mime-mapping>
 
<mime-mapping> 
 
<extension>txt</extension> 
 
<mime-type>application/txt</mime-type> 
 
</mime-mapping>
 
<mime-mapping> 
 
<extension>chm</extension> 
 
<mime-type>application/mshelp</mime-type>
 
</mime-mapping> 
 
<mime-mapping>
  
<extension>mp3</extension>
  
<mime-type>audio/x-mpeg</mime-type>
 
</mime-mapping>


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

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

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

 代码如:

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

 显示的为网页,而

 <% response.ContentType ="text/plain" %>  
 
<!--#i nclude virtual="/sscript/ContentType.html" -->

 则会显示html原代码.

 以下为一些常用的 ContentType

GIF images 
 
<% response.ContentType ="image/gif" %>  
 
<!--#i nclude virtual="/myimage.gif" --> 
 JPEG images 
 
<% response.ContentType ="image/jpeg" %>  
 
<!--#i nclude virtual="/myimage.jpeg" --> 
 TIFF images 
 
<% response.ContentType ="image/tiff" %>  
 
<!--#i nclude virtual="/myimage.tiff" --> 
 MICROSOFT WORD document 
 
<% response.ContentType ="application/msword" %>  
 
<!--#i nclude virtual="/myfile.doc" --> 
 RTF document 
 
<% response.ContentType ="application/rtf" %>  
 
<!--#i nclude virtual="/myfile.rtf" --> 
 MICROSOFT EXCEL document 
 
<% response.ContentType ="application/x-excel" %>  
 
<!--#i nclude virtual="/myfile.xls" --> 
 MICROSOFT POWERPOINT document 
 
<% response.ContentType ="application/ms-powerpoint" %>  
 
<!--#i nclude virtual="/myfile.pff" --> 
 PDF document 
 
<% response.ContentType ="application/pdf" %>  
 
<!--#i nclude virtual="/myfile.pdf" --> 
 ZIP document 
 
<% response.ContentType ="application/zip" %>  
 
<!--#i nclude virtual="/myfile.zip" --> 

 下面是更详细的ContentType

application/andrew-inset ez  
 application
/mac-binhex40 hqx  
 application
/mac-compactpro cpt  
 application
/mathml+xml mathml  
 application
/msword doc  
 application
/octet-stream bin dms lha lzh exe class so dll  
 application
/oda oda  
 application
/ogg ogg  
 application
/pdf pdf  
 application
/postscript ai eps ps  
 application
/rdf+xml rdf  
 application
/smil smi smil  
 application
/srgs gram  
 application
/srgs+xml grxml  
 application
/vnd.mif mif  
 application
/vnd.mozilla.xul+xml xul  
 application
/vnd.ms-excel xls  
 application
/vnd.ms-powerpoint ppt  
 application
/vnd.wap.wbxml wbxml  
 application
/vnd.wap.wmlc .wmlc wmlc  
 application
/vnd.wap.wmlscriptc .wmlsc wmlsc  
 application
/voicexml+xml vxml  
 application
/x-bcpio bcpio  
 application
/x-cdlink vcd  
 application
/x-chess-pgn pgn  
 application
/x-cpio cpio  
 application
/x-csh csh  
 application
/x-director dcr dir dxr  
 application
/x-dvi dvi  
 application
/x-futuresplash spl  
 application
/x-gtar gtar  
 application
/x-hdf hdf  
 application
/x-httpd-php .php .php4 .php3 .phtml  
 application
/x-httpd-php-source .phps  
 application
/x-javascript js  
 application
/x-koan skp skd skt skm  
 application
/x-latex latex  
 application
/x-netcdf nc cdf  
 application
/x-pkcs7-crl .crl  
 application
/x-sh sh  
 application
/x-shar shar  
 application
/x-shockwave-flash swf  
 application
/x-stuffit sit  
 application
/x-sv4cpio sv4cpio  
 application
/x-sv4crc sv4crc  
 application
/x-tar .tgz tar  
 application
/x-tcl tcl  
 application
/x-tex tex  
 application
/x-texinfo texinfo texi  
 application
/x-troff t tr roff  
 application
/x-troff-man man  
 application
/x-troff-me me  
 application
/x-troff-ms ms  
 application
/x-ustar ustar  
 application
/x-wais-source src  
 application
/x-x509-ca-cert .crt  
 application
/xhtml+xml xhtml xht  
 application
/xml xml xsl  
 application
/xml-dtd dtd  
 application
/xslt+xml xslt  
 application
/zip zip  
 audio
/basic au snd  
 audio
/midi mid midi kar  
 audio
/mpeg mpga mp2 mp3  
 audio
/x-aiff aif aiff aifc  
 audio
/x-mpegurl m3u  
 audio
/x-pn-realaudio ram rm  
 audio
/x-pn-realaudio-plugin rpm  
 audio
/x-realaudio ra  
 audio
/x-wav wav  
 chemical
/x-pdb pdb  
 chemical
/x-xyz xyz  
 image
/bmp bmp  
 image
/cgm cgm  
 image
/gif gif  
 image
/ief ief  
 image
/jpeg jpeg jpg jpe  
 image
/png png  
 image
/svg+xml svg  
 image
/tiff tiff tif  
 image
/vnd.djvu djvu djv  
 image
/vnd.wap.wbmp .wbmp wbmp  
 image
/x-cmu-raster ras  
 image
/x-icon ico  
 image
/x-portable-anymap pnm  
 image
/x-portable-bitmap pbm  
 image
/x-portable-graymap pgm  
 image
/x-portable-pixmap ppm  
 image
/x-rgb rgb  
 image
/x-xbitmap xbm  
 image
/x-xpixmap xpm  
 image
/x-xwindowdump xwd  
 model
/iges igs iges  
 model
/mesh msh mesh silo  
 model
/vrml wrl vrml  
 text
/calendar ics ifb  
 text
/css css  
 text
/html .shtml html htm  
 text
/plain asc txt  
 text
/richtext rtx  
 text
/rtf rtf  
 text
/sgml sgml sgm  
 text
/tab-separated-values tsv  
 text
/vnd.wap.wml .wml wml  
 text
/vnd.wap.wmlscript .wmls wmls  
 text
/x-setext etx  
 video
/mpeg mpeg mpg mpe  
 video
/quicktime qt mov  
 video
/vnd.mpegurl mxu  
 video
/x-msvideo avi  
 video
/x-sgi-movie movie  
 x
-conference/x-cooltalk ice 

 TXT文件做下载的JS实现

<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript">   
  
function openfile(url)   {   
  
var a =window.open(url,"_blank","");   
  a.document.execCommand(
"SaveAs");   
  a.close();   
  }
   
</script>
</head>
<body>
<p><href="#" onclick='openfile("aa.txt")'>下载</a></p>
</body>
</html>
转载请注明出处[http://samlin.cnblogs.com/] 
作者赞赏
 


刚做的招标网:八爪鱼招标网 请大家多意见
标签: TomcatRAR

本文转自Sam Lin博客博客园博客,原文链接:http://www.cnblogs.com/samlin/archive/2011/08/01/Tomcat-Rar-Type-Error.html,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
zting科技
+ 关注