validates_attachment_content_type type thoughtbot rails how content ruby-on-rails-3 paperclip

ruby on rails 3 - type - Cambiar el tamaño de la imagen original en Paperclip



rails paperclip url (1)

Paperclip almacena las imágenes originales en la carpeta "original". ¿Hay una manera de cambiar el tamaño de las imágenes originales? Quiero reducir los originales para ahorrar espacio en el disco.

Entonces, por ejemplo, si el visitante carga una foto con 2592x1936, quiero almacenarla como 1024x1024, de la misma manera que configuramos las dimensiones para: imágenes de pulgar en: estilos

Actualización (resuelto)

Descubrí cómo cambiar el tamaño de las imágenes originales automáticamente en la carga. Solo hay que añadir : original a los estilos:

class MyModel < ActiveRecord::Base has_attached_file :photo, :styles => { :original => "1024x1024>", :thumb => "150x150>" } end


No estoy seguro de que el clip de papel cambie de tamaño por sí mismo. Es posible que tengas que mirar a Rmagick para hacer esto. Intentaría poner en marcha RMagick (o minimagick ) y luego utilizar una devolución de llamada before_save para ejecutar un método de :resize que escriba que le indique a RMagic que cambie el tamaño de la imagen. Su método podría verse como:

class Image < ActiveRecord::Base belongs_to :profile before_save :resize def resize self.image = self.image.resize "1024x1024" end end

o

class Image < ActiveRecord::Base belongs_to :profile before_save do self.image = self.image.resize "1024x1024" end end