如何在Rails中使用载波保存Blob文件

时间:2019-03-15 05:10:09

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2

所以我有一个要求,我要录制视频并将其保存在数据库中,视频的录制工作正常,唯一的是它会生成blob文件,然后我使用js将blob文件发送到服务器。这是我的参数

{"testqwe"=>{"attr"=>"blob:http://localhost:3000/6f12f123-b1d0-7bfc-6b15-d3b54341946"}, "controller"=>"myControler", "action"=>"test"}

我有一个上载器,但没有保存任何内容。

那么如何使用carierwave将其保存到数据库中?

这是我的JavaScript

mediaRecorder.onstop = (ev) ->
        blob = new Blob(chunks, 'type': 'video/mp4;')
        chunks = []
        videoURL = window.URL.createObjectURL(blob)
        vidSave.src = videoURL
        $.ajax
          type: 'POST'
          content_type: "video/webm"
          url: '/test'
          enctype: "multipart/form-data"
          data: testqwe: attr: videoURL
        return

1 个答案:

答案 0 :(得分:0)

任何仍在尝试弄清这一点的人,你可以参考此链接

How to pass blob url to rails create method by ajax

mediaRecorder.onstop = (ev) ->
        blob = new Blob(chunks, 'type': 'video/mp4;')
        chunks = []
        videoURL = window.URL.createObjectURL(blob)
        vidSave.src = videoURL

        formData = new FormData
        formData.append('testqwe[attr]', blob);

        $.ajax
          type: 'POST'
          url: '/test'
          processData: false
          contentType: false
          data: formData
        return

发送音频/视频数据并将其保存为文件