相同的服务器,相同的文件,不同的mime类型

时间:2016-10-17 16:47:27

标签: coldfusion mime-types

在两个不同的服务器(dev / prod)上运行相同的应用程序。据我所知,服务器运行相同版本的所有内容(CF,Java,IIS等)。

在开发时,我上传了一个特定的Word文档,ColdFusion将其标识为application/msword,并将其标识为application/x-tika-msoffice

我试图诊断原因。我的修复是在我的上传中允许application/x-tika-msoffice mime类型,但仍然是什么导致它不同。如果有一些特定的服务器设置我需要检查请告诉我,但我能想到的一切似乎在prod和dev之间。

1 个答案:

答案 0 :(得分:2)

浏览器发送的 MIME类型,这可能解释了您所看到的差异。也许在开发过程中,您已经安装了Office,而在生产服务器上,您希望不会。

您不应该使用MIME类型来确定是否应该上传文件 - 而是始终使用文件扩展名。这种mime类型很容易被欺骗,因此无需依赖验证。

CF10 +允许您在accept标记的cffile属性中指定文件扩展名列表。它还添加了strict属性并将其默认为true,它执行服务器端MIME类型检查(与运行fileGetMimeType()基本相同,但即使使用strict=true,您仍然无法依赖在这个文件检查时,扩展更重要(两者兼而有之)。