如何在Rails 4中使用jquery上传多个文件?

3
我添加了一个上传表单,以便用户可以将HTML文件上传到我的网站。我如何允许同时上传多个文件?我添加了jquery-fileupload-rails gem,它允许用户选择多个文件。然而,服务器只处理一个文件。我该如何解决这个问题?
更多细节:
我的代码如下,基于这个Railscast。请注意,表单中没有涉及模型,因此我使用field_tags。我没有给file_field_tag添加name,因为在添加文件后它的名称没有改变,但这可能是问题的一部分。
<%= form_tag import_items_path, multipart: true, id: "upload" do %>
    <%= file_field_tag :file, multiple: true %>
    <%= submit_tag "Import" %>
<% end %> 

这是一些用于文件上传jQuery的JS代码:
jQuery ->
  $('#upload').fileupload

当我添加两个文件并点击上传时,只有一个文件被处理。以下是日志:
参数:{"utf8"=>"✓", "file"=>#<ActionDispatch :: Http :: UploadedFile:0x ...@tempfile =#<Tempfile:/var/folders/gl /...>, @original_filename ="sample.html",@content_type ="text / html",... name =“ file”;filename =“ sample.html”的文件名...}
我尝试过使用ajax提交表单,但也没有起作用。如何使Rails 4中的jquery-fileupload-rails正常工作?
1个回答

3
如果您将<%= file_field_tag :file, multiple: true %>更改为<%= file_field_tag 'files[]', multiple: true %>,它应该可以工作。
请参见相关的SO帖子。

谢谢。在完成这个之后,我只需要更改后端来处理一个数组(而不是railscast中重复的JS调用)。 - am-rails

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接