在我的 Rails 应用程序中,我希望允许用户通过 Carrierwave 上传图像或非图像文件。目前 Carrierwave 可以很好地处理和处理图像文件,但不幸的是它完全丢弃了非图像文件。单个 Carrierwave 上传器是否有一种干净的方式来处理图像和非图像文件?
我将在下面包括我当前的上传者:
class AssetUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process :resize_to_fill => [300, 300]
end
version :icon do
process :resize_to_fill => [48, 48]
end
def extension_white_list
%w(jpg jpeg gif png pdf doc xls docx xlsx ppt)
end
end