你看到file_field提供了一个窗口让用户选择某个文件并上传到服务器端。但我想要的只是文件名。我怎么能得到文件名,我不需要提交自己。什么建议?
答案 0 :(得分:5)
不确定为什么你需要这个,但你可以试试这个
表单中的
<%= file_field :uploadfile %>
并在你的控制器中
def upload
params[:uploadfile].original_filename
.... process the rest of this method ....
end
“original_filename”将获取正在上载的文件的名称,然后您可以存储到数据库中。希望这有帮助
答案 1 :(得分: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", "");
});
})