上传文件时 MIME 类型错误

上传文件时 MIME 类型错误

我在从 Web 界面将文件上传到服务器时遇到了 MIME 类型问题。我使用 CI 作为我网站的引擎。我的主板上有 FreeBSD 和 Apache 2.2.15。
问题是:

  1. 当我上传文档-文件,我得到了应用程序/x-msword课件-应用程序/vnd.ms-powerpoint压缩文件-应用程序/vnd.ms-excel- 这是普通的
  2. 但当我尝试上传时文档韓國語繁體我明白应用程序/八位字节流rar-应用程序/强制下载- 这是错误的

UPD1. 在我的 mime.types 文件中,这些 MIME 类型具有所需的类型(即。应用程序/openxmlformats-officedocument.wordprocessingml.document)
UPD2. 我直接在 httpd.conf 中写入“AddType app.../openxml... .docx”并重新启动 apache,但什么也没发生。UPD3
. 上传表单的 enctype 为“multipart/form-mixed”
UPD4.内容类型Firebug 的 NET 面板中也有错误的 MIME 类型

答案1

这是因为.docx文件实际上是具有不同扩展名的 ZIP 文件。如果您在 WinRAR 或 WinZIP 中打开其中一个,您会发现.xml其中有数十个文件。我猜 FreeBSD 不知道 a.docx和 a.zip文件之间的区别,因为它们是一样的东西

话虽如此,我真的不确定你在问什么或者想要实现什么。

答案2

我不知道 CodeIgniter 框架,但我知道我见过几个基于 PHP 的应用程序有这个问题。如果你启动 wireshark 并嗅探 HTTP 流量,你可能会发现上传文件的计算机设置了错误的 MIME 类型。如果你的 PHP 应用程序盲目地认为上传者知道正确的类型,那么你可能无能为力。

相关内容