Paperclip多种欺骗媒体类型取决于“文件”版本

时间:2015-03-10 17:29:14

标签: ruby-on-rails imagemagick paperclip paperclip-validation

我有一个应用程序管理一些文件,如.blend个文件。

.blend不是标准 mime类型,因此我将此选项添加到config/environment.rb

Paperclip.options[:content_type_mappings][:blend] = "application/octet-stream"

"application/octet-stream"是命令

返回的值
$ file -b --mime 'x.blend'
application/octet-stream; charset=binary
$ file -v
file-5.11

我遇到的问题是应用程序部署在多个服务器上,并且它们的版本不同file。例如,在另一台服务器中:

$ file -b --mime 'x.blend'
binary; charset=binary
$ file -v
file-5.17

因此Paperclip会检测到欺骗

[paperclip] Content Type Spoof: Filename x.blend ([]), content type discovered from file command: binary. See documentation to allow this combination.

我尝试将content_type_mapping设置为数组(["application/octet-stream", "binary"]),但它不起作用。

你有什么想法吗?是否可以禁用此欺骗检查?

1 个答案:

答案 0 :(得分:0)

对于那些有同样问题的人,我的解决方案允许多个映射只是Paperclip接受了。你只需要得到它的最后一个版本。

https://github.com/thoughtbot/paperclip/commit/ea142d80eb2f87c5ce7597026a58cd873d9de3a3