浏览 2677 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-15
我是这样写的 def picture @rypicture = RyPicture.find(params[:id]) send_data(@rypicture.data, :filename => @rypicture.name, :type => @rypicture.content_type, :disposition => 'inline') end 在show界面上该如何写呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-16
已经解决。
保存地址,读数据时引用地址。 这样不保存在数据库里比较好,避免了影响数据库性能。 在activerecord里写 def picture=(picture_field) self.name = base_part_of(picture_field.original_filename) self.content_type = picture_field.content_type.chomp #self.data = picture_field.read self.image_url = "/images/" + self.name File.open("#{RAILS_ROOT}/public/images/#{picture_field.original_filename}", "wb+") do |f| f.write(picture_field.read) end end def base_part_of(file_name) File.basename(file_name).gsub(/[^\w._-]/, '') end 其他地方正常处理就可以了 |
|
返回顶楼 | |