Le idee hanno bisogno per le immagini di ritrattamento utilizzando attachment_fu
-
26-09-2019 - |
Domanda
ho scoperto un bug nel mio Rails app a causa di Rails app e gemme aggiornamenti e il codice privi di documenti da parte degli sviluppatori precedenti. Ho un sacco di immagini che sono stati elaborati, ma non di dimensioni correttamente utilizzando attachment_fu. Tutte le immagini che sono state caricate in quanto la necessità di aggiornamento per essere ridimensionate in modo corretto.
Qualcuno ha qualche idea per rielaborare tutte le immagini all'interno delle cartelle e ridimensionare le dimensioni corrette? Non vorrei avere a che fare tutti questi manualmente.
GRAZIE !! Cindy
Soluzione
attachment_fu utilizza ImageMagick, in modo che (probabilmente) già installato. Ecco come usarlo tramite linea di comando http://www.imagemagick.org/ script / riga di comando-processing.php
Altri suggerimenti
Ho avuto lo stesso problema. Questo è un metodo poco che ho scritto di andare e ri-generare l'intero lotto, tra cui il ridimensionamento a nuove miniature, e correggere altre questioni come le dimensioni delle immagini genitore corrotti.
Speranza che aiuta! 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
Ho trovato questo pezzo di codice su Gist. Ha funzionato bene per me per ridimensionare le risorse Attachment_fu su Amazon S3