1

由于 Rails 应用程序和 gems 升级以及以前开发人员的未记录代码,我在我的 Rails 应用程序中发现了一个错误。我有很多图像已经过处理,但使用 attachment_fu 大小不正确。自升级以来上传的所有图像都需要正确调整大小。

有没有人有任何想法重新处理文件夹中的所有图像并将它们调整为正确的大小?我讨厌必须手动完成所有这些操作。

谢谢!!辛迪

4

3 回答 3

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
于 2011-03-21T23:19:15.410 回答
1

attachment_fu 使用 imagemagic,所以你(可能)已经安装了它。以下是如何通过命令行使用它 http://www.imagemagick.org/script/command-line-processing.php

于 2010-05-13T22:01:15.263 回答
0

我在 Gist 上找到了这段代码。在 Amazon S3 上调整 Attachment_fu 资源的大小对我来说效果很好

Gist 上的 Rake 任务代码

于 2011-09-09T21:32:52.750 回答