上传文件时错误的MIMEtypes

从web界面上传文件到服务器时,我遇到了MIMEtypes的问题。 我用CI作为我的网站的引擎。 我在FreeBSD上安装了Apache 2.2.15。
问题是:

  1. 当我上传doc文件,我得到应用程序/ x-mswordppt应用程序/ vnd.ms-powerpointxlsapplication / vnd.ms-excel – 这是正常的
  2. 但是当我尝试上传docxpptxxlsx我得到application / octet-stream ; rar应用程序/强制下载 – 这是错误的

UPD1。 在我的mime.types文件中,这些MIMEtypes与所需的types(即application / openxmlformats-officedocument.wordprocessingml.document
UPD2。 我直接在httpd.conf中写了“AddType app … / openxml … .docx”,然后重新启动apache,但是什么都没发生。
UPD3。 上传表单有ententType“multipart / form-mixed”
UPD4。 Firebug的networking面板中的内容types也有一个错误的MIMEtypes

这是因为.docx文件实际上是具有不同扩展名的ZIP文件。 如果您在WinRAR或WinZIP中打开其中的一个,您会在其中find数十个.xml文件。 我的猜测是,FreeBSD没有意识到.docx.zip文件的区别,因为它们是一样的

这就是说,我真的不知道你在问什么,或者你想要达到什么目的。

我不知道CodeIgniter框架,但我知道我已经看到了几个基于PHP的应用程序有这个问题。 如果启动wireshark并嗅探HTTPstream量,则可能会看到上载该文件的计算机正在设置错误的MIMEtypes。 如果你的PHP应用程序盲目地认为上传者知道正确的types,那么你可以做的不多。