<%= file_field 'upload' %>
在我的控制器中,如果我根据建议提供以下内容
filename=params[:upload]
@result=filename.original_filename
我到了。
undefined method `original_filename' for
#<ActionController::Parameters:0x002b6c396e44b8>
注意:我没有使用表格。 Rails版本是4.0.2
答案 0 :(得分:3)
使用以下代码获取文件名:
params[:file].original_filename
答案 1 :(得分:2)
您是否阅读过如何upload files in Rails?您是否已将表单设置为multipart: true
? params
中的内容是StringIO
或File
(取决于上传的大小)。在该对象上,您将拥有original_filename
属性,该属性是上载文件的文件名。
编辑:我看到你说你没有使用表单提交......你采取了哪些替代步骤来完成这项工作?
答案 2 :(得分:0)
您是否添加了许可证:upload params
def some_params
params.require(:something).permit(:upload)
end
[参考铁轨文件] http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-permit
答案 3 :(得分:-1)
尝试:
params[:pictures][0]["picture_path"].original_filename.split(".").first