Ruby on rails 使用carrierwave上传到S3时获取mp3持续时间
我正在写一个应用程序,它基本上是一个音乐平台。我想通过它的元数据获取mp3的持续时间,并在上传到S3之前将其保存在一个表中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 =>
我正在使用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名称,但一般来说应该可以使用