日期:2014-05-18  浏览次数:20726 次

关于IE8下载docx的文件,会变成下载zip文件的疑问。
链接是正确的,而且文件也存在,文件是通过kindEditor上传的。
但是点击下载的时候,会提示:





上传zip文档则没这种问题。
请问是为什么呢?

奇怪的是,其他人下载会是docx,为何有的是zip,有的是docx呢?

服务器是tomcat6.0.35
------解决方案--------------------
 要解决该问题,是需要在Server端进行更改的,也就是说计算机并没有问题。
IE下载docx扩展名的文件时,会自动将扩展名变为zip。但是同一个网站下载,有的下载成zip,有的下载成docx,所以估计不是服务器端的问题。(sekurth)
 
   当我们从IIS或者Tomcat之类的Web服务器通过二进制流下载dotx,docx,pot等后缀的文件时,如果下载后变成zip格式的文件,那么是由于IE中对下载文件类型的判断,假如找不到相应后缀的MIME的话,会自动根据数据流来判断文件的类型,而微软对Office2007的格式做了和以前完全不同的处理。
 
以前的Office文档是100%的二进制格式。第三方的工具操作起来非常不方便,而 Office2007从整体上都是基于XML格式的,这里并不是说Office2007文档可以保存成XML格式。而是Office2007默认的文档格式就是XML的(Word的docx、Excel的xlsx等)。docx本质上是一个zip文件,里面有一系列的xml、目录和其他的文件。如果我们将docx改成zip。就可以用winzip等软件将其解开。
 
正是由于这样的原因,当MIME中不存在相对应的Office2007类型的情况下,被自动识别为ZIP文件了。要解决该问题,是需要在Server端进行更改的,也就是说计算机并没有问题。