tomcat resin nginx处理MIME类型

如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的文件名也会成为zip为扩展后缀的文件。

其实出现这样的情况,是由于IE中对下载文件类型的判断,假如找不到相应后缀的MIME的话,会自动根据数据流来判断文件的类型,而微软对Office2007的格式做了和以前完全不同的处理

一、tomcat处理方式(在web.xml中加入以下代码):

Copy

	<mime-mapping>   
	  	<extension>rar</extension>   
		<mime-type>application/rar</mime-type>   
	</mime-mapping> 
	<mime-mapping>   
	  	<extension>docx</extension>   
		<mime-type>application/msword</mime-type>   
	</mime-mapping> 
	<mime-mapping>   
	  	<extension>xlsx</extension>   
		<mime-type>application/vnd.ms-excel</mime-type>   
	</mime-mapping>
	<mime-mapping>   
	  	<extension>pptx</extension>   
		<mime-type>application/vnd.ms-powerpoint</mime-type>   
	</mime-mapping>

二、resin处理方式(在conf目录下会有一个app-default.xml文件)增加:

<mime-mapping extension=".docx" mime-type="application/msword"/>

<mime-mapping extension=".xlsx" mime-type="application/vnd.ms-excel"/>

<mime-mapping extension=".pptx" mime-type="application/vnd.ms-powerpoint"/>

三、nginx处理方式(在nginx目录下会有一个mime.types文件)增加:

application/msword                    docx;

application/vnd.ms-excel              xlsx;

application/vnd.ms-powerpoint         pptx;

大家可以根据自己的实际情况修改配置。

个人最近遇到docx和xlsx文件下载问题,在web.xml中增加了(一)上面的代码,发现还是不行(以前都是这么处理的都是可以的),搞了半天。

最后发现我文件都是存储在文件服务器上,文件服务器是用nginx搭建的,nginx里面没有增加对应的配置,在nginx中增加相应的配置后,OK!~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章