【发布时间】:2012-05-15 20:12:48
【问题描述】:
我没有使用载波或回形针来上传文件。我想找出用户上传的文件的文件扩展名和大小(以字节为单位)?关于如何实现这一目标的任何想法?
【问题讨论】:
我没有使用载波或回形针来上传文件。我想找出用户上传的文件的文件扩展名和大小(以字节为单位)?关于如何实现这一目标的任何想法?
【问题讨论】:
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"
【讨论】:
number_to_human_size,您需要将include ActionView::Helpers::NumberHelper 添加到您的班级。
params[:file].size
File.extname(params[:file].original_name)
或params[:file].original_name.match(/\.(\S*)$/).try(:"[]",1)
【讨论】:
您可以使用 Ruby 的 File 类方法。
【讨论】: