文件上传的MIME类型为“application / x2x-download” - 这是什么?

时间:2010-03-01 23:41:56

标签: ruby-on-rails mime-types

My Rails网站允许用户上传文件,我使用的是attachment_fu插件。我有一个允许的[MIME]内容类型列表,我允许 - 标准图像格式,Office文档,PDF等。我有一个用户无法上传任何PDF文档因为验证失败,查看日志attachment_fu认为MIME type是“application / x2x-download”。用户浏览器是Windows XP上的Firefox。当我尝试在OS X或Safari或IE 6/7/8上使用Firefox自己上传PDF时,它可以正常工作。似乎只是她浏览器的一个问题。

我搜索了这个MIME类型,它似乎不存在。

理论上,我可以忽略客户端告诉的MIME类型并尝试自己识别文件,也许是file -b --mime-type命令,但这看起来很简陋。

另一个流行的Rails附件插件Paperclip本身不会进行MIME标识,也会尝试信任客户端浏览器。

你们有什么想法?忽略客户端并[尝试]自己识别上传或尝试弄清楚这个用户浏览器为什么首先设置完全无效的MIME类型?

1 个答案:

答案 0 :(得分:1)

许多第三方应用程序可以修改客户端mime类型设置(我有自己冒险使用亚马逊的MP3下载器应用程序修改mime类型),因此很可能你的用户有类似的东西(可能来自x2x software )。

我建议坚持使用mime / type作为向用户传达有效内容和无效内容的方法,并在验证中使用ruby filemagic进行二次检查。