Ich erstelle eine kleine Foto-Sharing-Site für das Intranet unseres Heims, und ich habe eine Upload-Funktion, die das Foto in Originalgröße in die Datenbank hochlädt. Allerdings möchte ich das Foto auch in vier anderen Größen speichern: W = 1024, W = 512, W = 256 und W = 128, aber nur die Größen kleiner als die Originalgröße (zB wenn die Originalbreite 511 ist, erzeuge nur 256 und 128). Das Bild mit einer Breite von 128 sollte immer erzeugt werden (weil es ein Thumbnail ist). Außerdem sollte die Größenänderung immer mit einer proportionalen Breite und Höhe erfolgen. Wie kann ich das umsetzen? Ich habe bereits diesen Code, um das Foto zu laden:Grundlegende Bildgrößenanpassung in Ruby on Rails
pic.rb < - Modell
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 < - Ansicht
<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 %>
Dank
Büroklammer hat den Job = D –