代码之家  ›  专栏  ›  技术社区  ›  Cody Caughlan

文件上传有一个mime类型的“application/x2x下载”-那是什么?

  •  4
  • Cody Caughlan  · 技术社区  · 15 年前

    我的Rails站点允许用户上传文档,我使用的是附件_Fu插件。我有一个允许的[mime]内容类型列表-标准图像格式、Office文档、PDF等。我有一个用户由于验证失败而无法上载任何PDF文档,在日志附件中查找,他认为mime类型为“application/x2x download”。用户浏览器是Windows XP上的Firefox。当我尝试在OSX或Safari或IE6/7/8上使用Firefox上传PDF时,它工作得很好。似乎只是她的浏览器出了问题。

    我到处搜索这个哑剧类型,它似乎不存在。

    从理论上讲,我可以忽略客户机所告诉的mime类型,并尝试自己识别该文件,或者向 file -b --mime-type 命令,但这看起来很危险。

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

    你们觉得怎么样?忽略客户机并[尝试]自己识别上传,或者尝试找出为什么用户浏览器首先设置了一个完全无效的mime类型?

    1 回复  |  直到 9 年前
        1
  •  1
  •   Mike Buckbee    15 年前

    许多第三方应用程序可以修改客户机的mime类型设置(我有自己的冒险,亚马逊的mp3下载应用程序修改mime类型),所以很可能您的用户有类似的东西(可能来自 x2x software )

    我建议坚持使用mime/type作为向用户传达哪些内容是有效的,哪些内容是无效的,并使用 ruby filemagic 在验证中。