Railsで各種ファイルをアップロードしてDBに保存するようなアプリを作成する場合、アップロードしたファイルのmime typeも同時に保存したい場合があります。 例えば、 mime typeでvalidationを行う。 jpg、pngのアップロードは許可するが、gifは許可しない等。 mime typeに応じて異なる処理を行う。 pdfがアップロードされたら各ページを画像として別途保存する。 jpgがアップロードされたらexifの情報を破棄する等。 mime typeの判別するには、最も簡単な方法としてファイルの拡張子で判断する方法があります。 ところがこの方法では、拡張子がついていないファイルに関してmime typeの判別ができません。 また、ファイルの拡張子とファイルの本当の中身が一致しているとは限りません。 jpgの拡張子がついたmicrosoft wordのファイ