发新话题
打印

整合File-Column和Rmagick功能实现图片上传

本主题由 admin 于 2008-3-16 16:11 移动

整合File-Column和Rmagick功能实现图片上传

做了一个简单的例子,系统在Windows平台上运行
1.上网下载ImageMagick-6.3.5-8-Q8-windows-dll.exe(当前的最新版本,找不到上google搜索)
2.安装rmagick,执行zip包里面的exe文件,同时把安装路径放到path环境变量里面去,否则可能会报CORE_RL_magick_.dll找不到的错误
3.安装file-column
ruby ./script/plugin install http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk
修改\vendor\plugins\trunk -> \vendor\plugins\file_column

重启aptana

4.在数据库中建立pictures数据表
复制内容到剪贴板
代码:

CREATE TABLE pictures
(
id int8 NOT NULL AUTO_INCREMENT PRIMARY KEY,
image varchar(255) NOT NULL,
created_on timestamp(11) NOT NULL,
updated_on timestamp(11) NOT NULL
)
5.建立Picture的scaffold
generate scaffold Picture

4.修改model,并限制只能图片上传
复制内容到剪贴板
代码:
class picture< ActiveRecord::Base   
  validates_format_of :image,   
    :with=>/^.*(.jpg|.JPG|.gif|.GIF)$/,   
    :message => "你只能上传JPG或则GIF的图片文件"  
  file_column :image, :magick => {   
          :versions => { "thumb" => "50x50", "medium" => "640x480>" }   
        }   
end  
5.修改_form.rhtml
复制内容到剪贴板
代码:

<%= error_messages_for 'picture' %>
<!--[form:entry]-->  
<p><label for="picture_image">Image</label><br/>  
<%= file_column_field 'picture', 'image'  %></p>  
<!--[eoform:entry]-->  
6.修改new.rhtml

<h1>New picture</h1>
复制内容到剪贴板
代码:
<%= start_form_tag 'create',:multipart => true%>  
  <%= render :partial => 'form' %>  
  <%= submit_tag "Create" %>  
<%= end_form_tag %>  
  
<%= link_to 'Back', :action => 'list' %>  
7.修改show.rhtml

复制内容到剪贴板
代码:

<p>  
  <br>  
  原始大小:   
  <%= image_tag url_for_file_column 'picture', 'image' %>  
  <br>  
  thumb:   
  <%= image_tag url_for_file_column 'picture', 'image' ,'thumb'%>  
  <br>  
  medium:   
  <%= image_tag url_for_file_column 'picture', 'image' ,'medium'%>  
</p>  

<%= link_to 'Edit', :action => 'edit', :id => @picture %> |   
<%= link_to 'Back', :action => 'list' %>  

TOP

太好了

顶!
wedding dress ,wholesale weddding dresses, wedding gowns, wedding dresses, wedding dresses factory

如果该帖妨碍了该论坛请及时删除.
wedding dress

TOP

发新话题