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 回答