ファイルのアップロードに Carrierwave またはペーパークリップを使用していません。ユーザーがアップロードしたファイルの拡張子とサイズ (バイト単位) を知りたいですか? どうすればこれを達成できるかについてのアイデアはありますか?
21017 次
3 に答える
27
File.size(doc.filename)
ファイルの名前を中かっこに入れるだけで、設定する必要があります。
KB/MB を使用する場合:
number_to_human_size(File.size(doc.filename))
編集:
正確なパスまたはパス名を使用できます
1.9.3p125 :005 > x=Pathname.new("/usr/bin/ruby")
=> #<Pathname:/usr/bin/ruby>
1.9.3p125 :006 > File.size(x)
=> 5488
延長の場合:
File.extname("test.rb") #=> ".rb"
于 2012-05-15T20:16:34.650 に答える
10
params[:file].size
File.extname(params[:file].original_name)
またparams[:file].original_name.match(/\.(\S*)$/).try(:"[]",1)
于 2012-05-15T20:49:08.227 に答える