Dragonfly 是一个 Ruby gem 用于动态处理 Rails、Sinatra 等框架的图像上传。
示例代码:
如果你想生成缩略图:
class User < ActiveRecord::Base # model dragonfly_accessor :photo end <%= image_tag @user.photo.thumb('300x200#') # view %>
在 Sinatra 下生成文本图像
get "/:text" do |text| Dragonfly.app.generate(:text, text, "font-size" => 32).to_response(env) end
生成附件
wav = Dragonfly.app.fetch_url("http://free.music/lard.wav") # GET from t'interwebs mp3 = wav.to_mp3 # to_mp3 is a custom processor uid = mp3.store # store in the configured datastore, e.g. S3 url = Dragonfly.app.remote_url_for(uid) # ===> http://s3.amazon.com/my-stuff/lard.mp3