获取文件的未知扩展名

时间:2018-10-16 13:55:44

标签: ruby file-io

我有一个包含文件本身名称的文件的目录路径,但是文件的扩展名已删除。我有:

Path = "repository/something/306/072/437/985/825" 

其中825是不带扩展名的文件的名称。该文件可以是.jpg.txt扩展名。

如果没有给我扩展名,我在ruby中找不到任何功能来检测文件的扩展名。反正这样做吗?

1 个答案:

答案 0 :(得分:1)

您可能需要检测文件的MIME type

在Linux中,您可以通过file --mime-type确定MIME。因此,一种方法是调用shell命令:

mime = %x[file --mime-type #{path} | cut -d' ' -f2]

或者您可以使用mimemagic gem来做到这一点:

require 'mimemagic'

MimeMagic.by_magic(File.open('image.jpg')).type # => "image/jpeg"