当前位置: 代码迷 >> Ruby/Rails >> rails3 paperclip插件解决方案
  详细解决方案

rails3 paperclip插件解决方案

热度:288   发布时间:2016-04-29 02:21:15.0
rails3 paperclip插件
在rails3 中paperclip插件能否实现把上传的图片写入数据库中
如果不可以,求其他解
------解决方案--------------------
虽然实际应用中没有用paperclip直接写入database,但查了下资料是可以实现的

has_attached_file :avatar, :storage => :database

另外你还要创建一个相应的表结构
------解决方案--------------------
可以啊,我就实现了的,就用它,以后还可以和一个什么插件实现 截取功能呢
------解决方案--------------------
我贴点代码:(实现长传图片)
  -->db.migrate:
class AddPhotoColumnsToGood < ActiveRecord::Migration
  def self.up 
    add_column :goods, :photo_file_name,    :string 
    add_column :goods, :photo_content_type, :string 
    add_column :goods, :photo_file_size,    :integer 
    add_column :goods, :photo_updated_at,   :datetime 
  end 

  def self.down 
    remove_column :goods, :photo_file_name 
    remove_column :goods, :photo_content_type 
    remove_column :goods, :photo_file_size 
    remove_column :goods, :photo_updated_at 
  end 
end

-->.model
class Good < ActiveRecord::Base
  has_attached_file :photo,
  :whiny => false,
    :url => "/uploadfiles/:class/:attachment/:id/:basename.:extension",
    :path => ":rails_root/public/uploadfiles/:class/:attachment/:id/:basename.:extension",
    :styles => { :small => "150x150>" }
  validates_attachment_presence :photo
  validates_attachment_size :photo, :less_than => 5.megabytes
  validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']

-->.erb(添加)
  <div>
    <%= f.label "图片资料" %>
    <%= f.file_field :photo %>
  </div>

-->.erb(显示)
 <%= image_tag good.photo.url(:small),:class=>'dishimg' %>
------解决方案--------------------
paperclip 可以实现图片的上传,但是它并不是把图片放到database里而是把图片的路径存在database中,对于图片的切割,你可以用css+javascript实在。 不建议使用imagemagic做图片处理。如果用imagemagic,会制做多个图片一样的图片副本,会占用你大量的空间
------解决方案--------------------
可以实现
------解决方案--------------------
呵呵,二楼的回答对俺有用哈,谢谢啦。
  相关解决方案