如何在rails控制器中获取上传文件的文件名

5 ruby file-upload ruby-on-rails

<%= file_field 'upload' %>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,如果我根据建议给出以下内容

filename=params[:upload]
@result=filename.original_filename
Run Code Online (Sandbox Code Playgroud)

我正进入(状态。

undefined method `original_filename' for 
#<ActionController::Parameters:0x002b6c396e44b8> 
Run Code Online (Sandbox Code Playgroud)

注意:我没有使用表格。Rails 版本是 4.0.2

Rez*_*eza 6

使用以下代码来获取文件名:

params[:file].original_filename
Run Code Online (Sandbox Code Playgroud)


Nic*_*eys 3

你读过如何在 Rails 中上传文件吗?您是否已将表单设置为multipart: true?中的内容params是 aStringIO或 a File(取决于上传的大小)。在该对象上,您将有一个original_filename属性,它是上传文件的文件名。

编辑:我看到你说你没有使用表单来提交......你采取了哪些替代步骤来使这项工作总体上正常进行?