Нужны идеи для переработки изображений с использованием Attachment_FU
-
26-09-2019 - |
Вопрос
Я обнаружил ошибку в моем приложении Rails из-за приложений Rails и обновлениям драгоценных камней и без документов из предыдущих разработчиков. У меня много изображений, которые были обработаны, но не размерены правильно с помощью Attachment_fu. Все изображения, которые были загружены с момента обновления, должны быть изменены правильно.
У кого-нибудь есть идеи для переработки всех изображений в папках и изменить размер их к правильным размерам? Я бы не хотел делать это все вручную.
СПАСИБО!! Синди
Решение
Attachment_fu использует ImageMagic, так что вы (вероятно) уже установили его. Вот как использовать его через командную строку http://www.imagemagick.org/script/command-line-processing.php.
Другие советы
У меня была такая же проблема. Это маленький метод, который я писал, чтобы пойти и повторно генерировать все, включая изменение размера на новые миниатюры, а также исправлять другие проблемы, такие как повреждение размеров родительских изображений.
Надеюсь, поможет! Сэм, @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
Я нашел этот бит кода на гисте. Он хорошо работал для меня, чтобы изменить размер ресурсов Attachment_FU на Amazon S3