Ruby on rails 在rails中通过API接收文件内容而不使用post键?

Ruby on rails 在rails中通过API接收文件内容而不使用post键?,ruby-on-rails,api,post,parameters,Ruby On Rails,Api,Post,Parameters,我当前正在使用file[content]=%FILECONTENTHERE%接收一个文件。我希望直接接收我的文件,而不使用文件[内容]或任何类型的POST键 我目前正在控制器中执行类似的操作: def file_from_params return nil if params[:file].blank? || params[:file][:content].blank? temp = Tempfile.new(['import', '.txt']) temp.write params

我当前正在使用
file[content]=%FILECONTENTHERE%
接收一个文件。我希望直接接收我的文件,而不使用
文件[内容]
或任何类型的POST键

我目前正在控制器中执行类似的操作:

def file_from_params
  return nil if params[:file].blank? || params[:file][:content].blank?
  temp = Tempfile.new(['import', '.txt'])
  temp.write params[:file][:content]
  temp.rewind
  temp
end

如何在Rails中实现这一点?

使用
request.body.read解决:

def file_from_params
  file = request.body.read
  return nil if file.blank?
  temp = Tempfile.new(['import', '.txt'])
  temp.write file
  temp.rewind
  temp
end

使用
request.body.read解决:

def file_from_params
  file = request.body.read
  return nil if file.blank?
  temp = Tempfile.new(['import', '.txt'])
  temp.write file
  temp.rewind
  temp
end