【发布时间】:2012-08-19 07:48:30
【问题描述】:
我有以下文件上传器
class ItemImageUploader < CarrierWave::Uploader::Base
include ::CarrierWave::Backgrounder::Delay
include CarrierWave::MiniMagick
include Sprockets::Helpers::RailsHelper
include Sprockets::Helpers::IsolatedHelper
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
# Provide a default URL as a default if there hasn't been a file uploaded:
def default_url
asset_path("fallback/" + [version_name, "image.png"].compact.join('_'))
end
def cache_dir
"uploads/tmp"
end
# Create different versions of your uploaded files:
version :thumb do
process :resize_to_fill => [80,80]
end
def extension_white_list
%w(jpg jpeg gif png)
end
图片类
class Picture < ActiveRecord::Base
belongs_to :imageable, :polymorphic => true
mount_uploader :image, ItemImageUploader
process_in_background :image
validates_presence_of :image
def copy
Picture.new(:image => self.image)
end
以及carrier_wave.rb初始化文件中的如下配置:
CarrierWave.configure do |config|
config.enable_processing = true
#config.permissions = 0666
#config.directory_permissions = 0777
config.storage = :file
end
图片已正确上传,但未创建缩略图,未发生错误。请指教。
【问题讨论】:
-
@prusswan 不,我有 gem
"mini_magick"和gem 'carrierwave'和gem "devise"和gem 'carrierwave_backgrounder'。我还需要其他东西吗? -
我相信
mini_magick只是一个包装器。如果您阅读文档here,您可以在底部看到:您必须安装 ImageMagick 或 GraphicsMagick。 -
@prusswan 谢谢,我已经通过自制命令安装了 imagemagic,但仍然有相同的行为。有什么方法可以验证 imagemagic 是否正常工作?
-
-bash: identify: command not found貌似安装有问题... -
我不经常使用mac,但是查看
brew info imagemagick的输出,考虑this
标签: ruby-on-rails-3 imagemagick carrierwave homebrew