【问题标题】:How do I upload multiple files in Rails 4 (with jquery)?如何在 Rails 4(使用 jquery)中上传多个文件?
【发布时间】:2014-07-18 06:21:42
【问题描述】:

我添加了一个上传表单,以便人们可以将 HTML 文件上传到我的网站。如何一次允许多次上传?我添加了jquery-fileupload-rails gem,它允许用户选择多个文件。但是,服务器只处理一个文件。我该如何解决?

更多详情

我的代码如下,基于此Railscast。注意我不是在处理表单中的模型,所以我使用 field_tags 代替。我没有为file_field_tag 添加名称,因为添加文件后它的名称没有改变,尽管这可能是问题的一部分。

<%= 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

当我添加 2 个文件并单击上传时,仅处理 1 个文件。这是日志:

参数:{"utf8"=>"✓", "file"=> #, @original_filename="sample.html", @content_type="text/html",... name=\"file\";文件名=\"sample.html\"...}

我尝试 ajaxifying 表单,但这也无济于事。如何让 Rails 4 中的 jquery-fileupload-rails 工作?

【问题讨论】:

    标签: jquery ruby-on-rails file-upload ruby-on-rails-4


    【解决方案1】:

    如果您将&lt;%= file_field_tag :file, multiple: true %&gt; 更改为&lt;%= file_field_tag 'files[]', multiple: true %&gt;,它应该可以工作。

    请参阅this 相关的 SO 帖子。

    【讨论】:

    • 谢谢。之后,我只需要更改后端来处理数组(而不是 railscast 重复的 JS 调用)。
    猜你喜欢
    • 2014-05-14
    • 2013-10-26
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    相关资源
    最近更新 更多