Ruby ファイルの種類からcontent-typeを取得する
拡張子からの判断ではなく、ファイルの内容で判別したい
具体的に言うと、jpegファイルを拡張子をpngにして保存したときも"image/jpeg"が取得したい ということ。
MIME::Typesを使うと拡張子から判断するため、上記の場合"image/png"が取得されてしまう。
ruby-filemagicを使う
1.まず下記をインストール
// for Mac brew install libmagic // for CentOS yum install file-devel
2.gemをインストール
gem install 'ruby-filemagic'
3.下記で取得
path = 'test.png' # 実際のファイルはjpeg FileMagic.new(FileMagic::MAGIC_MIME).file(path).split(';').first # =>image/jpeg