【发布时间】:2016-01-06 10:07:10
【问题描述】:
我想通过图像的宽度和高度来使用特定版本的图像。所以我关注了How-to:-Get-image-dimensions 这个wiki,但得到了undefined method "width="。
我的上传者看起来像,
class S3uploaderUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
# include CarrierWave::MiniMagick
process :store_dimensions
# Choose what kind of storage to use for this uploader:
# storage :file
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :detail do
process :quality => 90
process :store_dimensions
end
version :mainVertical do
process :quality => 80
process :store_dimensions
process :resize_to_fit => [240, 180]
end
version :mainHorizontal do
process :quality => 80
process :store_dimensions
process :resize_to_fit => [240, 320]
end
private
def store_dimensions
if file && model
model.width, model.height = ::MiniMagick::Image.open(file.file)[:dimensions]
end
end
end
我错过了什么?有什么建议么?谢谢。
【问题讨论】:
标签: amazon-s3 carrierwave minimagick