在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,会制做多个图片一样的图片副本,会占用你大量的空间
------解决方案--------------------
可以实现
------解决方案--------------------
呵呵,二楼的回答对俺有用哈,谢谢啦。