我正在为我们家的Intranet创建一个小照片共享站点,并且我有一个上传功能,它将原始大小的照片上传到数据库中.但是,我还要保存照片的其他四种尺寸:W = 1024,W = 512,W = 256和W = 128,但只有尺寸小于原始尺寸(例如,如果原始宽度是511,只生成256和128).应始终生成宽度为128的图像(因为它是一个缩略图).此外,调整大小应始终与成比例的宽度和高度.我该如何实现?
我已经有这个代码来上传照片:
我已经有这个代码来上传照片:
pic.rb< - 模型
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< - view
<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 %>
谢谢
解决方法
只需使用
paperclip或
attachment_fu