rails скрепка проблема разных типов файлов

Я использую скрепку для загрузки файлов, работать с изображениями легко, но как я могу обрабатывать изображения (png, jpg) и swf в одной загрузке, даже файлы pdf, когда мне нужно создавать разные стили изображений, но не другой форматы.


person kristian nissen    schedule 08.10.2009    source источник


Ответы (3)


Хотя принятый ответ мертв, похоже, что решение:

  before_post_process :is_image?
  def is_image?
    !(asset_content_type =~ /^image/).nil?
  end

Предположим, что ваше вложение называется asset. Измените по мере необходимости.

person devth    schedule 25.10.2010
comment
Спасибо за комментарий, это ценно - person kristian nissen; 28.10.2010
comment
before_post_process — одно из поддерживаемых событий paperclip, к которому вы можете подключиться. Если ваш обработчик возвращает false, он пропускает это событие. В данном случае мы используем is_image? который проверяет, содержит ли assets_content_type изображение. Таким образом, скрепка будет пытаться обрабатывать (изменять размер) только изображения. README рассказывает о событиях: github.com/thoughtbot/paperclip - person devth; 09.11.2010
comment
Спасибо, это решение помогло мне. - person fivetwentysix; 17.01.2011

Вот, пожалуйста, немного рваный пост, но идея работает хорошо http://www.mrkris.com/2009/09/15/paperclip-before_process-for-your-habitual-pornographic-needs/

person Elad Meidar    schedule 16.10.2009
comment
Этот пост мертв. Не могли бы вы вставить решение сюда? - person devth; 25.10.2010

Рабочий код

before_post_process :is_image?
def is_image?
  !(self.pc.content_type =~ /^image/).nil?
end

Где «ПК» — это имя вашего вложения

person Sidhannowe    schedule 07.06.2011