rails3+ paperclip图片加水印

本文介绍如何在Rails项目中实现带有水印的图片上传功能。主要步骤包括:创建项目、配置Gem、定义Asset模型、添加Paperclip支持、设置水印处理器、调整视图以支持文件上传及展示等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 新建项目,并移除index.html

rails new paperclip-water
rm public/index.html


2. 修改Gemfile 添加paperclip
 gem 'paperclip'


3. 新建asset
r
ails g scaffold asset ttile:string


4. 添加paperclip支持
rails g paperclip asset data


5. 新建 lib/paperclip_processors/watermark.rb,源文件在:
[url=http://gist.github.com/raw/465088/3de6e4f50ff659b91ee094764af842968d4e0de3/watermark.rb]http://gist.github.com/raw/465088/3de6e4f50ff659b91ee094764af842968d4e0de3/watermark.rb[/url]

6. 修改asset.rb
 
require 'paperclip_processors/watermark'
class Asset < ActiveRecord::Base
has_attached_file :data, :processors => [:watermark],
:styles => {
:original => {
:geometry => '550x400>',
:watermark_path => "#{Rails.root}/public/images/rails.png",#水印图片所在位置
:position => 'Center' #添加的水印在图片哪个位置
}
}
end


7. 修改 _form.html.erb,添加文件上传支持,并修改 show.html.erb,显示图片
<%= form_for(@asset,:html => {:multipart => true}) do |f| %>

#show.html.erb
<p>
<%= @asset.title %>
</p>
<p>
<%=image_tag @asset.data.url() %>
</p>


8. 运行迁移文件
rake db:migrate


9. 修改routes.rb

root :to => "assets#index"
resources :assets


10. 启动项目 测试

rails s


-------
继续打标记:
转载注明:[url=http://www.iteye.com]javaeye[/url]--[url=http://doabit.iteye.com/]doabit[/url]..
----------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值