0

広告モデルの同じアップローダーで写真またはビデオのサムを作成しようとしています...

これまでのところ、次のような条件付きサムを作成しようとしています:

  version :thumb do
      process :resize_to_limit => [50, 50]   if %w(jpg jpeg gif png).include?(file.extension)    
      process :screenshot => 5 if %w(mpg avi).include?(file.extension)
    end
  end

しかし、どうやら、このようにfile.extension部分でエラーが発生します

NameError: undefined local variable or method `file'

アップローダーでファイル拡張子を取得する方法を知っている人はいますか?

4

1 に答える 1

3

あなたのコードは、carrierwave によって生成されたアップローダ クラスのように見えます。あなたの質問を正しく理解できれば、サムネイルに変換できるファイルの種類を制限する方法を探しています。アップローダ クラスが受け入れるファイルの種類をホワイトリストに登録できます。そのため、:thumb メソッドが配置されているアップローダ クラスに次のものを含めます。

    # Add a white list of extensions which are allowed to be uploaded.
    # For images you might use something like this:
    def extension_white_list
      %w(jpg jpeg gif png)
    end
于 2014-06-16T21:51:15.603 に答える