在rails应用程序中上传视频

时间:2011-03-28 18:44:41

标签: ruby-on-rails video file-upload ruby-on-rails-plugins

我需要在rails应用程序中使用“上传视频”插件。

有谁能告诉我如何做到这一点?

3 个答案:

答案 0 :(得分:14)

您也可以使用carrierwave gem

  • 添加您的Gemfile:gem 'carrierwave'

    运行bundle install

  • 使用carrierwave generator创建上传视频的上传器。

    rails g uploader video

  • 它在video_uploader.rb目录

  • 中创建文件uploaders
  • 在模型中创建要附加视频或图片的迁移,请注意迁移名称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
    
  • 在PostController中添加视频参数

    class PostController < ApplicationController
          .
          . 
          .
          def post_params
              params.require(:post).permit(:name,:video)
          end
    end
    
  • _forml.html.erb

    views/posts添加文件附件字段
    <%=f.file_field :video%>
    
  • 观看/流式传输视频

    <% @posts.each do |post|%>
        <%= post.name %>
        <%= video_tag post.video_url.to_s :controls =>true %>
    <%end%>
    

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

答案 1 :(得分:6)

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

答案 2 :(得分:1)

尝试paperclip gem,非常受欢迎