Я хотел бы использовать jpegoptim
или optipng
для сжатия изображения, загруженного пользователями через Paperclip.
У меня есть модель Paperclip, настроенная как:
has_attached_file :image,
:styles => {:thumb => '50x50>', :preview => '270x270>' },
:url => "/system/:class/:attachment/:id/:basename_:style.:extension",
:path => ":rails_root/public/system/:class/:attachment/:id/:basename_:style.:extension"
Вопрос 1: Можно ли сжать исходное изображение, загруженное пользователем, а затем позволить Paperclip изменить его размер, так что есть только один процесс сжатия? и как это сделать?
Вопрос 2:
Я собираюсь сделать это с помощью обратного вызова after_post_process
, и я мог бы получить все экземпляры трех файлов из image.queued_for_write
, и я хотел бы запустить jpegoptim/optipng с расширением файла, но когда я использую current_format = File.extname(file.path)
, я получите что-то вроде: .jpg20120508-7991-cqcpf2
. Удалось ли получить строку расширения jpg
? или я уверен, что я просто проверяю, содержится ли строка расширения в этой строке?