如何使用 JavaScript/jQuery 从 ASP.NET Web Forms 的 GridView 中同时上传多个文件?

How to upload multiple files simultaneously from inside GridView of ASP.NET Web Forms using JavaScript/jQuery?

我有一个 GridView 和其中的一些列。我在 GridView 中创建了一个模板列,其中放置了一个 文件上传控件

<asp:GridView ID="GridView1" runat="server">
  <Columns>
    <ItemTemplate>
      <asp:FileUpload id="FileUploadControl" runat="server" />
    <ItemTemplate>
  </Columns>
</asp:GridView>

GridView 与数据绑定,因此它具有多行。这是 GridView 下面给出的按钮,单击按钮我想将文件上传控件的所有文件(同时)上传到服务器。

我在 Multiple File Upload 上看到过一个类似的教程,它做了类似的事情,唯一不同的是我没有一个而是多个文件要上传。

我想用JavaScript或jQuery来做。

请帮我解决这个问题。

谢谢

您必须像这样在文件上传控件中允许上传多个文件:

<asp:FileUpload id="FileUploadControl" AllowMultiple="true" runat="server" /> 

或:

<asp:FileUpload id="FileUploadControl" Multiple="Multiple" runat="server" />

使用HttpFileCollection class 检索所有要上传的文件:

    try
    {
        HttpFileCollection hfc = Request.Files;
        for (int i = 0; i < hfc.Count; i++)
        {
            HttpPostedFile hpf = hfc[i];              
            if (hpf.ContentLength > 0)
            {
                hpf.SaveAs(Server.MapPath("MyFiles") + "\" +
                  Path.GetFileName(hpf.FileName));                      
            }              
        }   
    }
    catch (Exception ex)
    {
        // Handle your exception here
    }

详情可以看here