Ruby on rails 如何通过api发送图像并将其存储在rails中的模型中?

Ruby on rails 如何通过api发送图像并将其存储在rails中的模型中?,ruby-on-rails,ruby-on-rails-3,json,api,paperclip,Ruby On Rails,Ruby On Rails 3,Json,Api,Paperclip,我使用曲别针在s3中存储图像,现在我需要通过api获取图像,并像处理表单一样将其存储在模型中。数据库包含 图片文件名 图片内容类型 图片文件大小 图片更新于 这些是存在的字段,但是如何将图像作为json发送并填充这些字段的值。请帮我做这件事。我将从我的任务中给你举个例子 控制器 def创建 @locationid = InformationSchema.count_by_sql("SELECT AUTO_INCREMENT FROM `information_schema`.`tables`

我使用曲别针在s3中存储图像,现在我需要通过api获取图像,并像处理表单一样将其存储在模型中。数据库包含

  • 图片文件名
  • 图片内容类型
  • 图片文件大小
  • 图片更新于

这些是存在的字段,但是如何将图像作为json发送并填充这些字段的值。请帮我做这件事。

我将从我的任务中给你举个例子

控制器

def创建

@locationid = InformationSchema.count_by_sql("SELECT AUTO_INCREMENT FROM `information_schema`.`tables`
                                            WHERE (table_name = 'Location') LIMIT 1") 
  @location = Location.new
  @location.longitude = params[:longitude]
  @location.latitude = params[:latitude]
  @location.placemark = params[:address]
  @location.location_description = params[:locationDescription]
  @location.date = params[:dateTime]
  if params[:file]
    @location.file = params[:file]
    @location.photo_path = "/system/images/original/" +@locationid.to_s+".jpg?t=#{Time.now.to_i}"
  end
  @location.save

render json: {:result => @location}
结束

型号

首先,您必须创建一个名为information_schema.rb的新模型,并键入此

类信息模式 self.table\u name='information\u schema.tables'
结束

并且在我的位置.rb Model

类位置 属性可访问:日期,:id,:纬度,:位置描述,:长度,:照片路径,:地点标记,:文件
属性访问器:文件名、文件内容类型
已附加文件:file,:style=>{:medium=>“300x300”,:small=>“100x100”}, :path=>“:rails\u root/public/system/images/:style/:id.jpg”, :default_url=>“/system/images/:style/:id.jpg” 结束