2

你看到file_field提供了一个窗口让用户选择某个文件并上传到服务器端。但我想要的只是文件名。我怎么能只得到文件名,我不需要文件本身。有什么建议吗?

4

2 回答 2

5

不知道你为什么需要这个,但你可以试试这个

以你的形式

<%= file_field :uploadfile %>

在你的控制器中

def upload
    params[:uploadfile].original_filename
    .... process the rest of this method ....
end

“original_filename”将获取正在上传的文件的名称,然后您可以将其存储到数据库中。希望这可以帮助

于 2011-08-14T10:09:13.487 回答
3

你需要有两个字段:

  • 存储文件名的隐藏字段
  • 文件输入选择文件

前任:

<%= file_field_tag :our_file %>
<%= f.hidden :filename, :id => "hidden_filename" %>

小 jQuery 片段:

$(document).ready(function(){
  $('input[type=file]').change(function(e){
    filename = $(this).val();
    $("#hidden_filename").attr("value", filename);
    # To reset file field if you don't want to uppload a file
    $(this).attr("value", "");
  });
})
于 2011-08-14T10:20:13.347 回答