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 iceTXT文件做下载的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><a href="#" οnclick='openfile("aa.txt")'>下载</a></p> </body> </html>相关资源:敏捷开发V1.0.pptx