在rails应用程序中上传视频

max*_*rez 5 video file-upload ruby-on-rails ruby-on-rails-plugins

我需要在rails应用程序中使用"上传视频"插件.

任何人都可以告诉我如何做到这一点?

Suj*_*are 14

你也可以使用carrierwavegem

  • 添加你的Gemfile: gem 'carrierwave'

    bundle install

  • 使用carrierwave generator创建一个上传视频的上传器.

    rails g uploader video

  • video_uploader.rbuploaders目录中创建文件

  • 在模型中创建要附加视频或图像的迁移,请注意它应该是的迁移名称 add_{column}_to_{model}

    rails g migration add_video_to_post video:string

  • 迁移数据库

    rake db:migrate

  • 将上传器添加到模型中

    class Post < ActiveRecord::Base
          mount_uploader :video, VideoUploader  
    end
    
    Run Code Online (Sandbox Code Playgroud)
  • 在PostController中添加视频参数

    class PostController < ApplicationController
          .
          . 
          .
          def post_params
              params.require(:post).permit(:name,:video)
          end
    end
    
    Run Code Online (Sandbox Code Playgroud)
  • 添加文件附件领域_forml.html.erb这是在views/posts

    <%=f.file_field :video%>
    
    Run Code Online (Sandbox Code Playgroud)
  • 查看/流式传输视频

    <% @posts.each do |post|%>
        <%= post.name %>
        <%= video_tag post.video_url.to_s :controls =>true %>
    <%end%>
    
    Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,载波波浪宝石 https://github.com/carrierwaveuploader/carrierwave 和视频教程 http://railscasts.com/episodes/253-carrierwave-file-uploads


Oma*_*Ali 6

更具体地说,我创建了一个专门用于视频的Rails gem:https: //rubygems.org/gems/paperclip-ffmpeg


meg*_*gas 1

尝试一下回形针宝石,这种用途非常受欢迎