`
wtb
  • 浏览: 106018 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

阅读更多

项目当中,图片上传以及图片的大小调整是经常会用到的一个功能!

Rails结合几个plug-in可以说很智能的做到了这一点

1、www.kanthak.net/opensource/file_column/#features

./script/plugin install 
http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk

2.确保RMagick能正常动行(要安装Imagmagick,Rmagick)

3.建立一个存放路径的model,在数据库中建立Entry数据库
并生成相应的scaffold:
ruby script/generate scaffold Entry upload

4.修改model,并限制只能图片上传

代码
  1. class Entry < ActiveRecord::Base  
  2.   validates_format_of :image,  
  3.     :with=>/^.*(.jpg|.JPG|.gif|.GIF)$/,  
  4.     :message => "你只能上传JPG或则GIF的图片文件"  
  5.   file_column :image, :magick => {   
  6.           :versions => { "thumb" => "50x50""medium" => "640x480>" }  
  7.         }  
  8. end  
<script type="text/javascript">render_code();</script>

5.修改_form.rhtml

代码
  1. <%= error_messages_for 'entry' %>  
  2.   
  3. <!--[form:entry]-->  
  4. <p><label for="entry_image">Image</label><br/>  
  5. <%= file_column_field 'entry', 'image'  %></p>  
  6. <!--[eoform:entry]-->  
<script type="text/javascript">render_code();</script>

6.修改new.rhtml

代码
  1. <h1>New entry</h1>  
  2.   
  3. <%= start_form_tag 'create',:multipart => true%>  
  4.   <%= render :partial => 'form' %>  
  5.   <%= submit_tag "Create" %>  
  6. <%= end_form_tag %>  
  7.   
  8. <%= link_to 'Back', :action => 'list' %>  
<script type="text/javascript">render_code();</script>

7.修改show.rhtml

代码
  1. <% for column in Entry.content_columns %>  
  2. <p>  
  3.   <b><%= column.human_name %>:</b> <%=h @entry.send(column.name) %>  
  4.   <br>  
  5.   原始大小:  
  6.   <%= image_tag url_for_file_column 'entry', 'image' %>  
  7.   <br>  
  8.   thumb:  
  9.   <%= image_tag url_for_file_column 'entry', 'image' ,'thumb'%>  
  10.   <br>  
  11.   medium:  
  12.   <%= image_tag url_for_file_column 'entry', 'image' ,'medium'%>  
  13. </p>  
  14. <% end %>  
  15.   
  16. <%= link_to 'Edit', :action => 'edit', :id => @entry %> |  
  17. <%= link_to 'Back', :action => 'list' %> 

分享到:
评论

相关推荐

    rmagick-2.3.0-x86-mswin32.gem

    RMagick则将这些功能无缝地引入到Ruby编程环境中,使得开发者能够轻松地进行图像创建、编辑和分析。 `rmagick-2.3.0` 表示这是RMagick的一个特定版本,即2.3.0。版本号通常意味着对库的改进、修复或新功能的添加。`...

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar

    RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar 包含 rmagick-2.13.2.gem ImageMagick-6.5.6-8-Q8-windows-dll.exe RMagick-2.12.0.tar.gz rmagick-2.12.0-x86-mswin32.gem

    hornetseye-rmagick:WaSP眼的 RMagick 集成

    这个 Ruby 扩展实现了必要的转换,以保存和加载存储在 {Hornetseye::MultiArray} 中的图像。 安装 hornetseye-rmagick使用RMagick Ruby 扩展提供文件 I/O。 RMagick需要 ImageMagick 开发头文件。 如果您运行的是 ...

    rmagick-2.16.0.gem

    安装redmine-3.2.3 ruby on rails 下的插件 rmagick 2.16.0 gem

    rmagick-2.10.0.gem

    rails 插件rmagick 2.10.0 gem

    rmagick-2.13.1-x86-mingw32.gem

    redmine的一个包文件,可以用来导出为pdf,图像的功能

    ruby图片处理工具

    总的来说,Ruby 图片处理工具为 Windows 用户提供了一套强大的图像处理解决方案,通过 Rmagick 可以轻松地在 Ruby 项目中集成复杂的图像操作功能。无论是简单的图片显示,还是复杂的图像算法实现,都可以借助这些...

    rmagick:ImageMagick的Ruby绑定

    马吉克目录介绍RMagick是Ruby编程语言和ImageMagick图像处理库之间的接口。先决条件最新版本的RMagick需要具备这些先决条件。 操作系统Linux * BSD 苹果系统视窗其他* nix类系统Ruby2.3版或更高版本。 您可以从获得...

    安装Ruby On Rails所需的部分资源

    - `RMagick-2.11.1.tar.gz` 和 `RMagick-2.11.1.tar.lzma`:这些是RMagick库的源代码压缩包,用于编译和安装。通常,如果你的系统上没有预编译的RMagick Gem,你需要下载源码,解压并编译以安装。 安装过程通常...

    Ruby-Ruby绑定ImageMagick

    Ruby是一种强大的动态编程语言,广泛应用于Web开发、脚本编写以及各种高级编程任务。...无论是Web应用中的图像上传处理,还是独立的图像处理脚本,RMagick都能满足需求,帮助你实现高效且高质量的图像处理功能。

    print_hub:用于管理和打印文档的Web应用程序

    用于管理和打印文档的Web应用程序 安装指南。 以前运行: sudo apt-get install cups-bsd#Extra Cups命令行实用程序 sudo apt-get install libcups2-dev#Cups gem依赖(Ubuntu 12.04) sudo apt-get install ...

    rails上传图片代码实例

    今天讲解一下rails的图片上传,就是最平常的上传图片 这里的rails版本2.3.5 首先新建一个write_pic model内容如下: 代码如下:class WritePicrequire “RMagick”require “uuid”def self.write(pic_data,ori_name,...

    insta

    自述文件■概要インスタ映えするスポットを自由に投稿,阅覧できるWebアプリです。 ■机能一覧ログイン机能ユーザ登录机能画像投稿机能投稿...HDRI,Rmagick 4.2.2画像CarrierWave 2.1.0Spec体,结合テストRSpec 3.10

    xkcdize:Ruby 和 RMagick 中类似 XKCD 的图片失真

    这是一个用于Ruby和图像的小型实验脚本。 它只需要一些图像并转换成“ -like”(手写效果)。 前: 后: 剧本背后的故事很简单。 我刚刚阅读了 Wolfram 人 Vitaliy Kaurov 的一篇出色的博客,他解释说,如何在 ...

    px4test:连续交付的测试脚本

    Hans-CI用于嵌入式硬件上的持续集成官方网站: : 用户数先决条件通过软件包管理器安装操作系统依赖项:苹果系统brew install opencv imagemagick ninjasudo gem install specific_install和RMagick: sudo gem ...

    drosterize:使用Ruby和RMagick自复制图像

    这里有一些例子,后面是算法描述和对实现的一些反思。 来源: ([图片来源]( )) 最简单的自我复制(ltrb是Tardis门上白板的左上右下): ./bin/drosterize -f examples/tardis.jpg -l 409 -t 439 -r 635 -b ...

    Wrox.Professional.Ruby.on.Rails.Feb.2008

    - **主要内容**:探讨如何在Rails应用程序中实现导航功能和社交网络特性。 - **知识点**: - 设计友好的用户界面 - 实现社交登录功能 - 社交媒体分享与互动 **第6章:数据库的维护与优化** - **主要内容**:...

    RailsWithApacheAndMongrel.pdf

    - 通常需要编写脚本来实现这一功能。 10. **修改Apache代理配置** - 根据实际需求调整Apache的代理配置。 - 例如,可能需要更改端口、添加或删除某些规则。 #### 结论 通过上述步骤,可以在Windows环境下成功...

    rtesseract, 用于超立方体识别的ruby 库.zip

    rtesseract, 用于超立方体识别的ruby 库 rtesseract 用于超立方体识别的ruby 库。要求:要正常工作,需要使用 rtesseract:超正方体- 程序ImageMagick - 程序RMagick或者 mini_magick -

Global site tag (gtag.js) - Google Analytics