読者です 読者をやめる 読者になる 読者になる

カッパでも分かるiOSアプリゲーム開発

カッパがひたすらゲーム制作に関することを書くブログです。Railsに関するTipsもたまにまとめてます。

Rails でファイルの content-type を判別する

Rails
スポンサードリンク

Ruby on Rails 4 アプリケーションプログラミング

f:id:InvokeTwoA:20151023183618p:plain「ファイルの操作はなんか面倒な印象あるよねー」
f:id:InvokeTwoA:20151215172640p:plain「いろいろ考えないといけないことが多いですもんね」
【目次】

ファイル種別の判断は拡張子だけでは危険

f:id:InvokeTwoA:20151102033407j:plain
f:id:InvokeTwoA:20151023183618p:plain「という訳でなんか良いgemが無いか調べてみたよ」
f:id:InvokeTwoA:20151215172640p:plain「ruby-mime-typesとかruby-filemagicとか、なんか簡単そうで簡単に入らないものが多数ヒットしましたね」
f:id:InvokeTwoA:20151023183618p:plain「ファイルの中身を見て判断する、ってなると結構絞られちゃうよね。拡張子だけで判断しちゃうライブラリとか意外と多いんだね」

そしてかっぱは mimemagic に辿り着いた

mimemagic とは?

  • ファイルの拡張子からファイル種別を判定したり、ファイルの中身を見てファイル種別を判定したりできる
  • 使い方がとにかく簡単

mimemagic の使い方

  • gem のインストール
gem 'mimemagic'
  • bundle install したらrails 再起動。あとは下記を実行するだけ
mime_magic =  MimeMagic.by_magic(File.open(path))
puts mime_magic.type
 => "application/zip"

感想

f:id:InvokeTwoA:20151222140105j:plain
f:id:InvokeTwoA:20151023183618p:plain「すんごく使いやすかった!」
f:id:InvokeTwoA:20151215172640p:plain「よーし、このまま今度はファイルをzipしたりアップロードしたりしまくりましょう!」

次回へ続く