Ruby on Rails: ファイルが画像かどうかをどのように確認しますか?
概要
ファイルが画像かどうかをどのように確認しますか?次のような方法を使用できると思います。
def image?(file)
file.to_s.include?(".gif") or file.to_s.include?(".png") or file.to_s.include?(".jpg")
end
しかし、それは少し非効率的であり、正しくない可能性があります。何か案は?
(ところで、私はペーパークリッププラグインを使用していますが、ファイルがペーパークリップの画像であるかどうかを判断する方法が見つかりません)
解決策
一度ご確認ください
MIME::Types.type_for('tmp/img1.jpg').first.try(:media_type)
=> "image"
MIME::Types.type_for('tmp/img1.jpeg').first.try(:media_type)
=> "image"
MIME::Types.type_for('tmp/img1.gif').first.try(:media_type)
=> "image"
MIME::Types.type_for('tmp/ima1.png').first.try(:media_type)
=> "image"