Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用carrierwave上传到S3时获取mp3持续时间_Ruby On Rails_Ruby_Ruby On Rails 4_Amazon S3 - Fatal编程技术网

Ruby on rails 使用carrierwave上传到S3时获取mp3持续时间

Ruby on rails 使用carrierwave上传到S3时获取mp3持续时间,ruby-on-rails,ruby,ruby-on-rails-4,amazon-s3,Ruby On Rails,Ruby,Ruby On Rails 4,Amazon S3,我正在写一个应用程序,它基本上是一个音乐平台。我想通过它的元数据获取mp3的持续时间,并在上传到S3之前将其保存在一个表中 我正在使用carrierwave和fog gems的组合进行上传。提取mp3元数据以保存到数据库的推荐方法是什么?对于此类操作,有一个gem 这里有一个例子 def set_duration # :duration is an integer # t.integer "duration", :default =>

我正在写一个应用程序,它基本上是一个音乐平台。我想通过它的元数据获取mp3的持续时间,并在上传到S3之前将其保存在一个表中


我正在使用carrierwave和fog gems的组合进行上传。提取mp3元数据以保存到数据库的推荐方法是什么?

对于此类操作,有一个gem

这里有一个例子

  def set_duration
    # :duration is an integer
    # t.integer  "duration",                  :default => 0
    TagLib::FileRef.open(file.file.path) do |file|
      update_column(:duration, file.audio_properties.length) unless file.null?
    end
  end 
当然,您将有自己的attr名称,但一般来说应该可以使用