由于Rails应用程序和宝石升级以及之前开发人员的未记录代码,我在Rails应用程序中发现了一个错误。我有很多已处理过的图像,但使用attachment_fu时尺寸不正确。自升级以来上传的所有图像都需要正确调整大小。
有没有人有任何想法来重新处理文件夹中的所有图像并将它们调整到正确的大小?我不想手动完成这些操作。
谢谢! 辛迪
答案 0 :(得分:2)
我遇到了同样的问题。这是我编写的一个小方法,可以重新生成整个批次,包括调整大小到新的缩略图,以及纠正其他问题,例如损坏的父图像大小。
希望它有所帮助! 山姆, @samotage
def self.rebuild_thumbnails
images = UserUpload.find(:all)
processed = 0
not_processed = 0
puts "---------------------------------"
puts "rebuilding thumbnails"
puts " "
images.each do |image|
this_type = image.type.to_s
puts "processing upload: #{image.id} of type: #{this_type}"
if image.thumbnailable?
puts "bingo! It's thumbnailable, now rebuilding."
image.thumbnails.each { |thumbnail| thumbnail.destroy }
puts "Re-generating main image witdh and height"
image.save
puts "Regenerating thumbnails..."
image.attachment_options[:thumbnails].each { |suffix, size| image.create_or_update_thumbnail(image.create_temp_file, suffix, *size) }
processed += 1
puts "Now processed #{processed} images"
puts ""
else
not_processed += 1
end
end
return processed
end
答案 1 :(得分:1)
attachment_fu使用imagemagic,所以你(可能)已经安装了它。以下是通过命令行http://www.imagemagick.org/script/command-line-processing.php
使用它的方法答案 2 :(得分:0)
我在Gist上找到了这段代码。我很好地在Amazon S3上调整Attachment_fu资源的大小