Paperclip 多重欺骗媒体类型取决于 'file' 版本

Paperclip multiple spoof media type depending of 'file' version

我有一个应用程序管理一些文件,例如 .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"]) 但它不起作用。

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

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

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