如何重新处理回形针存储的图像只是为了添加其他样式?

时间:2011-12-09 15:50:56

标签: ruby-on-rails imagemagick paperclip

这是与this类似的问题。

我有一个拥有约28,000条记录的GalleryPhoto模型。每个都有一个图像附件有五种样式:原始,大,中,小和拇指。大,中,小都有水印。我想在没有水印的样式中添加一个名为download的添加样式。

如何重新处理整个批次只添加其他样式而不重做所有现有样式?否则,重新处理可能需要数天。

Rails 3.1.1
Paperclip 2.4.2
ImageMagick 6.2.8

1 个答案:

答案 0 :(得分:0)

这是我在控制台中所做的,它似乎运作得很好。

GalleryPhoto.order('id DESC').each do |record|
  original_style_name = "original_#{record.image_file_name}"
  new_style_name = "small_download_#{record.image_file_name}"
  image_path = "#{Rails.root}/private/images/galleries/#{record.gallery_id}/#{record.id}"
  system "cd #{image_path} && cp #{original_style_name} #{new_style_name} && mogrify -resize 600x600 #{new_style_name}"
  puts record.id
end