我刚开始使用CarrierWave,但无法让它正常运行。
在按照Rails Casts中所述设置所有内容后,我收到以下错误:No such file or directory - identify -quiet -ping /tmp/mini_magick20130519-13712-lxhans.jpg
注意:我知道Rails Cast 中的错字,并且我的代码中不存在该问题。
在我的开发环境中,我已经安装了libmagickwand-dev
包,正在运行Rails 3.2.9
,和Ruby 1.9.3p194
,等等。我的 Gemfile 包括mini_magick
.
传递给服务器的请求是这样的:
{"utf8"=>"✓",
"authenticity_token"=>"8ugcdkjOy/5yeodhuTgMXYdrXlcu2xPjxWTvvRwKnWM=",
"organization"=>{"logo"=>#<ActionDispatch::Http::UploadedFile:0x0000000426c3d0 @original_filename="leather-tshirt-weird-square.jpg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"organization[logo]\"; filename=\"leather-tshirt-weird-square.jpg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/tmp/RackMultipart20130519-13712-1uvmtem>>,
"name"=>"Test Org",
"description"=>"blah",
"timezone"=>"1"},
"commit"=>"Create Organization"}
完整的跟踪位于此处: http: //pastebin.com/dW5j9NLt
在最初尝试了一些更高级的功能之后,我将代码简化为以下内容,但仍然没有运气:
class LogoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
version :thumb do
process :resize_to_limit => [100, 100]
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
编辑:我已将问题缩小到上传后修改图像的问题。如果我进一步简化代码以删除:thumb
大小的创建,那么一切正常。想法?