如何在rails中使用carrierwave保存blob文件

Posted

技术标签:

【中文标题】如何在rails中使用carrierwave保存blob文件【英文标题】:how to save a blob file using carrierwave in rails 【发布时间】:2019-08-06 03:18:59 【问题描述】:

所以我有一个要求,我录制视频并将其保存在数据库中,视频录制工作正常,唯一的就是它生成一个 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】:

还有人想知道这个,你可以参考这个链接

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

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

【讨论】:

以上是关于如何在rails中使用carrierwave保存blob文件的主要内容,如果未能解决你的问题,请参考以下文章

使用Cloudinary,Carrierwave,Ckeditor和Rails Admin时出现问题

Rails 4.2.6 + 多态 + Carrierwave 0.10 + 条件

在rails和carrierwave中上传之前显示图像预览的最佳方式

Rails 4使用carrierwave上传多个图像或文件

Rails Carrierwave和Imagemagick,使用条件调整图像大小

rails + WebRTC 录音 + Carrierwave + 雾 + S3 + Ajax 错误