如何使用两个多文件上传控制文件在一个按钮点击

本文关键字:文件 一个 控制 按钮 两个 何使用 | 更新日期: 2023-09-27 18:20:32

我在一个页面中使用两个文件上传控件,并将文件保存到提交按钮中。

 For Single Uplaod -
      <asp:FileUpload ID="FileUpload1" class="form-control" runat="server" />
 For Multiple Upload -    
     <asp:FileUpload ID="FileUpload2" multiple="multiple" class="form-control" runat="server" />

在提交按钮点击我正在使用单一上传的代码是

string filename = Path.GetFileName(FileUploadControl.FileName);
        FileUploadControl.SaveAs(Server.MapPath("~/") + filename);

对于多个上传代码是

    HttpFileCollection hfc = Request.Files;
            savepath = Server.MapPath(filepath);
            for (int i = 0; i < hfc.Count; i++)
            {
                HttpPostedFile hpf = hfc[i];
                if (hpf.ContentLength > 0)
                {
.....
    }}

而CCD_ 1同时占用了CCD_ 2和CCD_。如何选择仅FileUplaod2的文件。

有人能为这个问题提供解决方案吗。

如何使用两个多文件上传控制文件在一个按钮点击

不要使用Request.Files。它包含来自FileUpload1FileUpload2的所有文件。请改用FileUpload2.PostedFiles

以下是的使用示例

protected void uploadFiles_Click(object sender, EventArgs e)
    {
        if (FileUpload2.HasFiles)
        {
            foreach (HttpPostedFile uploadedFile in FileUpload2.PostedFiles)
            {
                uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath("~/MyPath/"),
                uploadedFile.FileName));
                listofuploadedfiles.Text += String.Format("{0}<br />", uploadedFile.FileName);
            }
        }
    }

您只能在.net 4.5中使用FileUpload2.PostedFiles,而不能在下面使用。另外,您不会在4.5中使用multiple="multiple"。您必须使用AllowMultiple="true"