Как выбросить исходный файл изображения и просто сохранить размеры с помощью Paperclip и Rails 3? - PullRequest
0 голосов
/ 26 октября 2010

Я использую Paperclip, чтобы, помимо прочего, разрешить зарегистрированному пользователю загружать аватар для использования в своем профиле. Я хочу сохранить большую и маленькую версию изображения, которое будет изменено на стандартные размеры. Теперь я хочу сохранить эти два стандартных размера (например, normal и: tiny), но я не хочу хранить: original.

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

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Что вы думаете за желание удалить файлы? Хранение файлов теперь настолько дешево, что больше не является веской причиной.

Я бы не советовал удалять исходные файлы. Если вы когда-нибудь решите изменить размер файлов с помощью граблей Paperclip, вам понадобятся оригиналы.

1 голос
/ 26 октября 2010

Я не могу придумать способ сделать это с помощью Paperclip напрямую, но вы можете удалить оригинал вручную после создания записи. Пример может выглядеть так:

class Photo
  has_attached_file :photo

  after_create :destroy_original

  protected

    def destroy_original
      # photo.url will look something like /system/photos/1/original.png
      File.unlink("#{Rails.root}/public#{self.photo.url}")
    end

end
...