1. ホーム
  2. ruby-on-rails

[解決済み] Rubyでファイル名の拡張子を調べる

2022-05-13 02:12:05

質問

Railsアプリのファイルアップロード部分に取り組んでいます。 異なる種類のファイルは、アプリによって異なる方法で処理されます。

アップロードされたファイルをチェックするために、特定のファイル拡張子のホワイトリストを作成し、どこに送るべきかを確認したいと思います。 ファイル名はすべて文字列です。

ファイル名の文字列の拡張子部分のみをチェックする方法が必要です。 ファイル名はすべて "some_file_name.some_extension"のような形式です。

どのように解決するのですか?

irb(main):002:0> accepted_formats = [".txt", ".pdf"]
=> [".txt", ".pdf"]
irb(main):003:0> File.extname("example.pdf") # get the extension
=> ".pdf"
irb(main):004:0> accepted_formats.include? File.extname("example.pdf")
=> true
irb(main):005:0> accepted_formats.include? File.extname("example.txt")
=> true
irb(main):006:0> accepted_formats.include? File.extname("example.png")
=> false