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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在rails中使用carrierwave保存blob文件相关的知识,希望对你有一定的参考价值。

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

任何人仍然试图弄清楚这一点,你可以参考这个链接

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 错误