Estoy creando un pequeño sitio para compartir fotos para la intranet de nuestra casa, y tengo una función de carga, que carga la foto en tamaño original en la base de datos. Sin embargo, también quiero guardar la foto en otros cuatro tamaños: W = 1024, W = 512, W = 256 y W = 128, pero solo los tamaños más pequeños que el tamaño original (por ejemplo, si el ancho original es 511, solo genere 256 y 128). Siempre se debe generar la imagen con un ancho de 128 (porque es una miniatura). Además, el cambio de tamaño siempre debe ser con un ancho y una altura proporcionales. ¿Cómo puedo implementar esto? Ya tengo el código para cargar la foto:Redimensionamiento de imagen básico en Ruby on Rails
pic.rb < - modelo
def image_file=(input_data)
self.filename = input_data.original_filename
self.content_type = input_data.content_type.chomp
self.binary_data = input_data.read
# here it should generate the smaller sizes
#+and save them to self.binary_data_1024, etc...
end
new.rb < - vista
<h1>New pic</h1>
<% form_for(@pic, :html => {:multipart => true}) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
<p>
<%= f.label :description %><br />
<%= f.text_field :description %>
</p>
<p>
<%= f.label :image_file %><br />
<%= f.file_field :image_file %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Back', pics_path %>
Gracias
Paperclip hizo el trabajo = D –