我尝试设置使用我的 rails 应用程序上传照片。但是,carrierwave 上传器不会调整正在上传的照片的大小。当我不调用 resize_to_fill 函数时,照片完美上传。有什么建议吗?
当使用 resize_to_fill 提交照片时,返回错误“处理失败”。我该如何解决?
我想我需要“要求”“carrierwave/processing/mini_magick”来调用 resize_to_fill,但我不知道该文件放在哪里。
gemfile
“carrierwave”,“0.4.10”
“mini_magick”,“3.2.1”
“rails”,“2.3.14”
平台
win7 64bit
ruby 1.8.7 imagemagick (路径 = C:\ImageMagick-6.7.2-Q16)
击球手
感谢您的回复。下面是我的代码,请指教。
我只是在想问题是否来自我的win7 + imagemagick + mini_magick +carrierwave的组合?我猜这样的问题应该很容易被很多人重现。这些版本是否相互不兼容?
我刚刚测试了我的应用程序并尝试再次上传照片。一个 processing_error 返回:
无法使用 MiniMagick 操作,也许它不是图像?原始错误:命令 ("identify -ping C:/Users/User/mini_magick20111018-4296-f18lsi-0.jpg") 失败:{:output=>"'identify' \244\243\254O\244\272\263 \241\251Υ~\263\241\251R\245O\241B............", :status_code=>1}
当然 jpg 不是在 C:/Users/User 文件夹中创建的. 请帮忙。
{avatar_uploader.rb}
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
process :resize_to_fill => [320, 240]
def extension_white_list
%w(jpg jpeg gif png)
end
end
{event_photo.rb}
class EventPhoto < ActiveRecord::Base
attr_accessible :event_id, :avatar, :created_by, :updated_by
belongs_to:event
mount_uploader :avatar, AvatarUploader
end
{preinitializer.rb}
begin
require 'rubygems'
require 'bundler'
end