Я хотел бы использовать 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? или я уверен, что я просто проверяю, содержится ли строка расширения в этой строке?