如何从post rails获取文件内容

时间:2016-04-05 19:57:13

标签: ruby-on-rails ruby post amazon-s3

我在java中有一个客户端,它发送带有视频文件的表单发布请求。

我在POST后进入服务器:

Parameters: {"video"=>#<ActionDispatch::Http::UploadedFile:0x007f26783b49d0 
@original_filename="video", @content_type=nil, 
@headers="Content-Disposition: form-data; name=\"video\"; filename=\"video\"\r\n", 
@tempfile=#<Tempfile:/tmp/RackMultipart20160405-3-106c9nr>>, "id"=>"36"}

我正在尝试使用以下行将文件保存到s3: 我知道连接和实际保存工作,因为我尝试使用base64字符串作为参数,它运行良好。

body = params[:video].tempfile
video_temp_file = write_to_file(body)
VideoUploader.new.upload_video_to_s3(video_temp_file, params[:id].to_s+'.mp4')

我在s3上看到空文件或24个字节。 我哪里做错了?

编辑:我正在使用carrierwave:

def write_to_file(content)
  thumbnail_file = Tempfile.new(['video','.mp4'])
  thumbnail_file.binmode # note that the tempfile must be in binary mode
  thumbnail_file.write content
  thumbnail_file.rewind
  thumbnail_file
end

0 个答案:

没有答案