ruby-on-rails – 如何获取给定内容类型的默认扩展名?

给定变量content_type =“application / pdf”,其还可以包括任何其他mime类型.

如何获取内容类型的认扩展名?

我目前有两种解决方案,看起来非常“复杂”.

破解字符串

content_type.split("/")[1]

使用MIME :: Types

require 'mime/types'
  MIME::Types[content_type].first.extensions.first

有更好的解决方案吗?

解决方法

您使用mime类型的第二个解决方案是您应该选择的解决方案.有几个原因:

>第二个解决方案是专为您的用例而设计的> Hack字符串可能不一致或返回意外结果(想想application / postscript有扩展名eps!)>请考虑,我们可能无法说,每个mime类型都有认扩展名.例如:谁为jpg(或jpeg或JPG ..)图像定义了认扩展名?

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...