保存先の変更
GoogleのVisionAI
というAPIを用いてアプリケーションへ投稿画像に対する自動タグ付け機能を実装した際に、refile
の画像ファイルの保存先を変更する必要があった為、備忘録として本記事を作成。
refileのデフォルトでの画像ファイルの保存先はtmp/uploads/store
になっており、今回はその保存先をpublic/uploads
に変更。
config/initializers
階層下にファイルを作成
config/initializers内
に新たにrefile.rb
ファイルを作成し、以下の記述を行う。
これにより、アップロードされた画像の保存先を変更することが可能。
Refile.backends['store'] = Refile::Backend::FileSystem.new('public/uploads/')
既存のデータがあった場合、tmp/uploads/store
からrefile.rb
に移す
すでにアップロードされた画像データが存在した場合、上記の手順でファイルの読み込み先を変更した為に、tmp/uploads/store内
の既存のデータの読み込みが出来なってしまう。
その場合、既存のデータをpublic/uploads
に移動させることによって、画像ファイルの読み込みが可能となる。
ただしrefile
の機能を新たに実装する場合には、こちらの手順は必要ない。
$ cp tmp/uploads/store/* public/uploads/
cpコマンド
を用いて既存のデータをpublic/uploads
にコピーする。
これを開発環境、本番環境共に行う。
記載内容に間違いがあった場合はご指摘頂けると嬉しいです。
ご連絡お待ちしております。