Как получить тип изображения с помощью RMagick? - PullRequest
1 голос
/ 23 марта 2012

Мне нужно найти реальный тип изображений, так как они часто имеют неправильное расширение.

Возможно ли это с RMagick? Как?

Ответы [ 2 ]

4 голосов
/ 23 марта 2012

Решение:

image.format
#
0 голосов
/ 23 марта 2012

, если вы хотите более общее решение (в Linux):

require "open3"

def File.sys_file_cmd(path)
    if File.exist? path
      stdin,stdout,stderr = Open3.popen3(%{file --mime -b "#{path}"})

      file_err  = stderr.gets
      file_out  = stdout.gets

      if file_err
        raise Exception, "The 'file' command error: #{file_err} : with #{path}"
      end

      if file_err.nil? && (!file_out.nil? && !file_out.empty?)
        return file_out.split(";")[0].strip
      end
    end

    return nil
  end
...