Я использую скрепку для загрузки файлов, работать с изображениями легко, но как я могу обрабатывать изображения (png, jpg) и swf в одной загрузке, даже файлы pdf, когда мне нужно создавать разные стили изображений, но не другой форматы.
rails скрепка проблема разных типов файлов
Ответы (3)
Хотя принятый ответ мертв, похоже, что решение:
before_post_process :is_image?
def is_image?
!(asset_content_type =~ /^image/).nil?
end
Предположим, что ваше вложение называется asset
. Измените по мере необходимости.
person
devth
schedule
25.10.2010
Спасибо за комментарий, это ценно
- person kristian nissen; 28.10.2010
before_post_process
— одно из поддерживаемых событий paperclip, к которому вы можете подключиться. Если ваш обработчик возвращает false, он пропускает это событие. В данном случае мы используем is_image? который проверяет, содержит ли assets_content_type изображение. Таким образом, скрепка будет пытаться обрабатывать (изменять размер) только изображения. README рассказывает о событиях: github.com/thoughtbot/paperclip
- person devth; 09.11.2010
Спасибо, это решение помогло мне.
- 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
Этот пост мертв. Не могли бы вы вставить решение сюда?
- 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