我有一个应用程序管理一些文件,如.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"]
),但它不起作用。
你有什么想法吗?是否可以禁用此欺骗检查?
答案 0 :(得分:0)
对于那些有同样问题的人,我的解决方案允许多个映射只是Paperclip接受了。你只需要得到它的最后一个版本。
https://github.com/thoughtbot/paperclip/commit/ea142d80eb2f87c5ce7597026a58cd873d9de3a3