使用carrierwave

时间:2016-04-28 21:56:11

标签: ruby-on-rails ruby ruby-on-rails-4 amazon-s3

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

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

1 个答案:

答案 0 :(得分:1)

此类操作有一个宝石taglib-ruby

这是一个例子

  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名称,但通常应该有效。