Rails:如何根据mime类型获取文件扩展名/后缀
我的问题是,Ruby on Rails是否具有类似于以下function:
file_content_type = MIME::Types.type_for(file).first.content_type
这将返回特定mime类型的文件扩展名或后缀? 所以,如果我传入’image / jpeg’,该函数将返回’jpg’
寻找一种更清晰的代码编写方式,而不是编写执行相同工作的case语句。
Rack::Mime
有这种能力(而Rack是Rails的依赖):
require 'rack/mime' Rack::Mime::MIME_TYPES.invert['image/jpeg'] #=> ".jpg"
如果您要经常进行查找,您可能希望记住反向哈希,因为它不是一个便宜的操作。
一个更好的更新答案,因为我发现这个谷歌搜索。
Mime::Type.lookup('image/jpeg').symbol.to_s # => "jpg"