转自:http://blog.csdn.net/xyh94233/article/details/8056609


weblogic 下载文件问题

有这样一个文件下载连接如下:

<a href="文件名.xls" >download</a>

在tomcat和webspere下,点download的时候,可以弹出文件下载框,但是在weblogic下却直接把该文件打开了,并且还是乱码!

 

原因是:weblogic是根据HTTP Header 的文件类型来判断是否弹出下载框的,默认的文件类型是contentType="text/html",所以是自动打开的。而tomcat是默认把文件都作为二进制文件,所以弹出对话框。

 

解决办法:

                在web.xml中加入代码:(这段代码加入到<web-app>里面就可以了</web-app>)

 <mime-mapping> 
   <extension>xls</extension> 
   <mime-type>application/msexcel</mime-type> 
 </mime-mapping>

 

MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 

 

这里附加上其他的类型设置:

 

<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> 




常见的MIME类型 

超文本标记语言文本 .htm,.html text/html 
普通文本 .txt text/plain 
RTF文本 .rtf application/rtf 
GIF图形 .gif p_w_picpath/gif 
JPEG图形 .ipeg,.jpg p_w_picpath/jpeg 
au声音文件 .au audio/basic 
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi 
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio 
MPEG文件 .mpg,.mpeg video/mpeg 
AVI文件 .avi video/x-msvideo 
GZIP文件 .gz application/x-gzip 
TAR文件 .tar application/x-tar