いつもお世話になっております。
Railsで音楽ファイルのアップロード、ダウンロードができるシステムの開発をしています。
保存先はS3であり、構成としてAWS上にS3をマウントしている状態です。
ダウンロード時にメタデータの書き換えをgemであるruby-mp3infoを用いて行っています。
いくつかのファイルのダウンロード時にエラーが発生するようになり、そのファイルの共通点を探してみるとファイル名に半角のプラス記号(+)が入っている場合に発生しているようでした。
ruby
1 # linux_pathは/home/rails/mp3data/abc + def.mp3 のようなファイルのフルパス 2 # ファイルはマウントされたlinux上に存在しています 3 Mp3Info.open(linux_path) do |mp3| 4 # メタデータの書き換え 5 mp3.tag2.TIT2 = music.original_title 6 # このend直前で「Errno::ENOENT (No such file or directory @ rb_file_s_rename」エラー 7 end
プラス記号ありのファイルのメタデータの書き換えを行うにはどのようにすればよいのでしょうか。
かなり狭い範囲の質問になってしまい申しございませんが、解決策をご存じの方がいらっしゃいましたらご教示いただけますと幸いです。
よろしくお願いいたします。
環境
Amazon Linux release 2 (Karoo)
Rails 5.2.3
Ruby version: 2.6.1
あなたの回答
tips
プレビュー