得到文件的mime-types类型,目前一种是通过判断文件的后缀,另一种就是通过文件的内容来判断,当然前一种如果你故意修改文件后缀的话就不能做为真实的依据了,后一种才是最可靠的,ruby目前的一个gem mime-types就是通过判断文件后缀的方法,不太可靠,所以我们可以使用linux系统的工具来判断:
#file -Ib readme.txt
text/plain; charset=us-ascii
#file -Ib ~/Music/PureMusic/Serenade.mp3
audio/mpeg; charset=binary
#mv ~/Music/PureMusic/Serenade.mp3 ~/Music/PureMusic/Serenade.txt
#file -Ib ~/Music/PureMusic/Serenade.txt
audio/mpeg; charset=binary
你可以用上面同样的方法测试下ruby mime-types, 就挂了
MIME::Types.type_for '~/Music/Pure Music/Serenade.txt'
原文:http://www.ccok.me/