我试图访问有关由Paperclip
生成的样式文件的数据。
以下是我的has_atteched_file
数据:
has_attached_file :file, {
:url => '/video/sources/:id/:style.:extension',
:path => ':rails_root/videos/:id/:style.:extension',
:styles => {
:medium => {
:processors => [:ffmpeg],
:acodec => 'libmp3lame', :abitrate => '256k',
:vcodec => 'libx264' , :vbitrate => '2M',
:ffmpeg_options => ['-preset', 'fast']
:format => 'mp4'
}
}
}
然后我有medium
风格。我想拥有这个生成的文件的大小。我可以通过Ruby方法直接打开它,但我想知道Paperclip
是否有任何方法可以做到这一点,我在文档中找不到它。
目前,我可以这样做:
Video.last.file.size
# => Gives me the size of the original file in octets
我正在寻找类似的东西:
Video.last.file(:medium).size
# This method does not exist.
# Video.last.file(:medium) gives an url
以下是使用Ruby
方法选项paperclip-attachment-file-size以及我的代码下方关于此问题的其他帖子:
File.open(Video.last.source.file.path(:medium), 'r') do |f|
f.size
end
# => Gives me the size of the medium file in octets