我的问题是,Ruby on Rails 是否具有类似于:
file_content_type = MIME::Types.type_for(file).first.content_type
这将返回特定 mime 类型的文件扩展名或后缀?因此,如果我传入“image/jpeg”,该函数将返回“jpg”
寻找一种更简洁的编码方式,而不是编写执行相同工作的 case 语句。
我的问题是,Ruby on Rails 是否具有类似于:
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"