Удалить оригинальное вложение, но сохранить миниатюру с помощью скрепки - PullRequest
4 голосов
/ 08 марта 2012

Есть ли в Paperclip параметр конфигурации для уменьшения оригинального изображения до определенного размера вместо создания другой версии файла?

Если пользователь загружает изображение 750X750, я хочу уменьшить его до 500x500. Я никогда не буду использовать версию 750x750, поэтому нет причин держать ее в руках.

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :thumb => "500x500>" }
end

Ответы [ 2 ]

7 голосов
/ 08 марта 2012

Существует простой способ переопределить это.Все, что вам нужно сделать, это установить свой стиль на оригинальный:

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :original => "500x500>" }
end

Он не сохранит оригинал и не примет любое входное изображение и не изменит его в соответствии с вашими спецификациями.Затем, когда вы захотите получить к нему доступ, вам не нужно будет указывать стиль.

image_tag @user.avatar

Вместо:

image_tag @user.avatar(:thumbnail)
0 голосов
/ 08 марта 2012

Возможно, это не самое красивое решение, но это может сработать. Мне любопытно узнать, есть ли лучшее решение.

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :original => "500x500>" }
  after_create :delete_original_image

  def delete_original_image
    File.delete(self.avatar.path)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...