Idées besoin pour de retraiter les images à l'aide attachment_fu
-
26-09-2019 - |
Question
J'ai découvert un bug dans mon application Rails en raison de mises à niveau Rails application et pierres précieuses et le code non documenté des développeurs précédents. J'ai beaucoup d'images qui ont été traitées, mais pas de taille correctement en utilisant attachment_fu. Toutes les images qui ont été téléchargées depuis la mise à niveau nécessaire pour être redimensionnées correctement.
Est-ce que quelqu'un a des idées de retraiter toutes les images dans les dossiers et les redimensionner à la bonne taille? Je déteste avoir à faire ces tout manuellement.
MERCI !! Cindy
La solution
attachment_fu utilise ImageMagic, de sorte que vous (probablement) avez déjà installé. Voici comment l'utiliser via la ligne de commande http://www.imagemagick.org/ script / commande en ligne-processing.php
Autres conseils
J'ai eu le même problème. Ceci est une méthode peu je l'ai écrit pour aller Régénérer le tout, y compris le redimensionnement à de nouvelles vignettes, et de corriger d'autres problèmes comme la taille des images mère corrompus.
Hope it helps! Sam, @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
J'ai trouvé ce morceau de code sur Gist. Cela a fonctionné bien pour moi de redimensionner des ressources attachment_fu sur Amazon S3