Techioz Blog

Carrierwave アップローダーを使用してキャッシュされたファイルの削除を無効にすることはできますか?

概要

CarrierWave アップローダーを使用しています。キャッシュされたファイルをストアに保存した後、そのファイルの削除を無効にする必要があります。次に、このキャッシュされたファイルに対して何らかの操作を実行し、手動で削除します。

私のアップローダー:

class FileUploader < CarrierWave::Uploader::Base
  def store_dir
    "store"
  end

  def cache_dir
    'tmp'
  end

  def size_range
    0..100.megabytes
  end
end

解決策

ストアの前後にコールバックを使用できます。

ここでスニペットをリンクとともに共有します -

after :store, :do_something_and_delete_manually

このコールバックは、ファイルがアップロードされた後にトリガーされます。コールバックを使用した後は必ずキャッシュを手動で削除してください。実際に試してみて、その仕組みを理解してください。

詳細については、Carrierwave WIKI ページを確認してください。