如何使用 JavaScript/jQuery 从 ASP.NET Web 窗体的 GridView 内部同时上传多个文件?

Posted

技术标签:

【中文标题】如何使用 JavaScript/jQuery 从 ASP.NET Web 窗体的 GridView 内部同时上传多个文件?【英文标题】:How to upload multiple files simultaneously from inside GridView of ASP.NET Web Forms using JavaScript/jQuery? 【发布时间】:2020-01-27 00:02:54 【问题描述】:

我有一个 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 来做。

请帮助我解决这个问题。

谢谢

【问题讨论】:

能否分享您的代码。 【参考方案1】:

您必须允许在文件上传控件中上传多个文件,如下所示:

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

或者:

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

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

    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

【讨论】:

快乐是我的 :)

以上是关于如何使用 JavaScript/jQuery 从 ASP.NET Web 窗体的 GridView 内部同时上传多个文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript/jQuery 从 HTML 中获取符号的 unicode/hex 表示?

如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?

如何从 .cs 文件 (C#) 调用 JavaScript/jQuery 函数

使用 Javascript/jquery 如何从选定行中的每个单元格获取值

如何使用 JavaScript/jQuery 从 ASP.NET Web 窗体的 GridView 内部同时上传多个文件?

如何使用 javascript / jQuery 获取数据 ajax api 数组?