【问题标题】:Multiple File Upload resets Request.Files多个文件上传重置 Request.Files
【发布时间】:2013-02-09 11:42:01
【问题描述】:

我正在使用 asp.net 文件上传器控件,但是当用户选择文件两次时,第一次选择被重置。例如:我选择了3个文件,在点击上传按钮之前,我再次点击“浏览”,然后再选择两个。比我点击上传按钮。如果我调用 Resquest.Files,我只会得到最后两个文件。我需要获取所有 5 个文件。

WebForm1.aspx: http://pastebin.com/kkpUA3dr

WebForm1.aspx.cs:http://pastebin.com/N9ahyU8c

【问题讨论】:

  • 听起来它正在按预期工作。您是否在更改所选文件之前回帖?
  • 我想要的是:如果用户选择了两个文件,然后在点击上传按钮之前再选择三个我想拥有所有 5 个文件,明白了吗?

标签: c# asp.net file-upload multifile-uploader


【解决方案1】:

我不确定你想要达到什么目标,但我认为这是意料之中的。我猜如果您使用上传文件控件多次选择文件,该控件仅保留最后一次选择,即默认行为。

【讨论】:

  • 是的,这就是我要说的,有什么办法可以保留所有的选择吗?
【解决方案2】:

那么你需要多个文件上传器

【讨论】:

    【解决方案3】:

    asp:FileUpload 不支持你这样做。在这种情况下,您可以使用其他库来上传多个文件。 HTML:

    <html >
    <head runat="server">
        <title>Multiple file Upload</title>
        <script src="http://jquery-multifile-plugin.googlecode.com/svn/trunk/jquery.js" 
        type="text/javascript"></script>
        <script src="http://jquery-multifile-plugin.googlecode.com/svn/trunk/jquery.MultiFile.js" 
        type="text/javascript"></script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:FileUpload ID="FileUploadJquery" runat="server" 
            class="multi" accept="jpg|png" />
        
        </div>
        </form>
    </body>
    </html>

    处理文件上传控制的C#代码:

    string fileName1 = "";
    string FullName1 = "";
    HttpFileCollection uploads = Request.Files;
    //for (int fileCount = 0; fileCount < uploads.Count; fileCount++)
    for (int fileCount = 1; fileCount < 6; fileCount++)
    {
        if (fileCount < uploads.Count)
        {
            HttpPostedFile uploadedFile = uploads[fileCount];
            fileName1 = Path.GetFileName(uploadedFile.FileName);
            if (uploadedFile.ContentLength > 0)
            {
                string[] a = new string[1];
                a = uploadedFile.FileName.Split('.');
                fileName1 = a.GetValue(0).ToString() + 
                "." + a.GetValue(1).ToString();
                uploadedFile.SaveAs(Server.MapPath
                ("mobile_image/mob_img/" + fileName1));
            }
    } 
    

    来源:http://www.codeproject.com/Tips/531692/Multiple-File-Upload-Using-jQuery

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-26
      • 2013-07-16
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 2019-02-04
      • 2021-06-15
      相关资源
      最近更新 更多