Rails/Paperclip "spoofing error" PDF 文件

Rails/Paperclip "spoofing error" on PDF file

我在 Ruby-on-Rails 应用程序中使用 Paperclip 来管理各种文件,包括上传的 PDF。我过去没有遇到任何问题,包括一周前上传的 PDF;但几天前我去上传一个新的 PDF 但它失败了:当我尝试上传文件时,编辑表单重新显示,上传按钮周围有一条红色虚线。

日志文件是这样说的:

[paperclip] Content Type Spoof: Filename hwk2.pdf (video/x-flv from Headers, [#<MIME::Type:0x0000000180e548 @content_type="application/pdf", @raw_media_type="application", @raw_sub_type="pdf", @simplified="application/pdf", @media_type="application", @sub_type="pdf", @extensions=["pdf"], @encoding="base64", @system=nil, @registered=true, @url=["IANA", "RFC3778"], @obsolete=nil, @docs=nil>] from Extension), content type discovered from file command: application/pdf. See documentation to allow this combination.

它实际上是一个 PDF 文件(我自己使用 pdflatex 生成的),这里几乎所有信息都同意这一事实,除了 "Headers" 似乎认为它是一个 Flash 视频(video/x-flv) 出于某种原因。 headers 指的是什么,我该如何解决?我找到了简单地关闭欺骗检查的解决方法(通过使 spoofed? 始终 return 为假),但如果可以的话,我更愿意实际更正错误。

事物的相关版本:ruby 2.2.3p173rails (4.0.0)passenger-4.0.59Apache/2.4.16paperclip (4.2.4)

好的,明白了,这不是(我应该意识到这一点)RoR 问题。由于我不完全清楚的原因,我的 Firefox 安装将 video/x-flv 识别为与 .pdf 扩展相关联(除了真正的 mime 类型之外)。有趣的是,我无法在应用程序的首选项窗格中对其进行编辑;但我可以将其从我的 .mozilla/firefox/blahblah.default 配置文件目录中的 mimeTypes.rdf 文件中删除,这样就解决了问题。