Upload Muliple Files with AJAX File Upload in ASP.Net


.aspx
<form id="form1" runat="server">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="true" />
    <div>
        <a href="WebForm3.aspx">Home</a></div>
    <div>
        <h3>
            Upload Files</h3>
        <table>
            <tr>
                <td colspan="2" align="left">
                    <asp:Label ID="lblmessage" runat="server" ForeColor="Red"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                    Folder
                </td>
                <td>
                    <asp:DropDownList ID="ddlfolder" runat="server">
                    </asp:DropDownList>
                    &nbsp;&nbsp;
                    <asp:Button ID="btngo" runat="server" Text="GO" OnClick="btngo_Click" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <table id="tabcreate" runat="server" visible="false">
                        <tr>
                            <td>
                                New Folder Name: &nbsp;
                                <asp:TextBox ID="txtfoldername" runat="server"></asp:TextBox>
                                &nbsp;&nbsp;
                                <asp:Button ID="btncreatefolder" runat="server" Text="Create New Folder" OnClick="btncreatefolder_Click" />
                            </td>
                        </tr>
                    </table>
                    <table id="tabselectedfolder" runat="server" visible="false">
                        <tr>
                            <td>
                                <asp:Label ID="lblselectedfolder" runat="server" ForeColor="Green"></asp:Label>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr id="trselectfiles" runat="server" visible="false">
                <td>
                    Select Files
                </td>
                <td>
                </td>
            </tr>
        </table>
    </div>
    <div>
        <asp:Image ID="loader" runat="server" ImageUrl="~/ajaxloader2.gif" Style="display: None" />
        <asp:AjaxFileUpload ID="browseup" runat="server" padding-bottom="4" padding-left="2"
            Width="300px" padding-right="1" padding-top="4" ThrobberID="myThrobber" OnUploadComplete="fileok_Click"
            MaximumNumberOfFiles="10" />
    </div>
    </form>

.aspx.cs

protected void Page_Load(object sender, EventArgs e)
        {

            // check if postback came through AjaxFileUpload control
            if (browseup.IsInFileUploadPostBack)
            {
                // do for ajax file upload partial postback request
            }
            else
            {
                // do for normal page request
                if (!IsPostBack)
                {
                    BindDirectoryDropDown();
                }
            }
        }

        protected void fileok_Click(object sender, AjaxFileUploadEventArgs e)
        {
            var filename = DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + "_" + DateTime.Now.Year.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + "_";
            filename += e.FileName;
            string path_1 = Server.MapPath("~/Files/");
            string selfolder = (string)Session["selfolder"];
            if (selfolder != "Select")
            {
                path_1 += selfolder + "/";
            }
            var path = Path.Combine(path_1, filename);
            browseup.SaveAs(path);
        }

        private void BindDirectoryDropDown()
        {
            DirectoryInfo di = new DirectoryInfo(Server.MapPath("~/Files/"));
            ddlfolder.DataSource = di.GetDirectories();
            ddlfolder.DataBind();

            //foreach (DirectoryInfo i in di.GetDirectories())
            //{
            //    ddlfolder.DataTextField = i.Name;
            //    ddlfolder.DataValueField = i.FullName;
            //}

            ddlfolder.Items.Insert(0, new ListItem("- Select -", "Select"));
            ddlfolder.Items.Add(new ListItem("Create New Folder", "-1"));
        }

        protected void btncreatefolder_Click(object sender, EventArgs e)
        {
            //checking for directory exists
            if (Directory.Exists(Server.MapPath("~/Files/" + txtfoldername.Text.Trim() + "")))
            {
                lblmessage.Text = "Folder Already Exists.";
            }

            else
            {
                //createing new directory
                Directory.CreateDirectory(Server.MapPath("~/Files/" + txtfoldername.Text.Trim() + ""));
                lblmessage.Text = "New Folder Created Successfully.";
            }

            BindDirectoryDropDown();
        }

        protected void btngo_Click(object sender, EventArgs e)
        {
            if (ddlfolder.SelectedValue == "-1")
            {
                tabcreate.Visible = true;
                tabselectedfolder.Visible = false;
            }
            else if (ddlfolder.SelectedValue != "Select")
            {
                tabcreate.Visible = false;
                tabselectedfolder.Visible = true;
                lblselectedfolder.Text = "Selected Folder: " + ddlfolder.SelectedValue;
            }
            else
            {
                tabcreate.Visible = false;
                tabselectedfolder.Visible = true;
                lblselectedfolder.Text = "No Folder Selected.So Files will be uploaded to root folder.";
            }
            trselectfiles.Visible = true;
            Session["selfolder"] = ddlfolder.SelectedValue;
        }

You Can Download the Working Code of From Upload Muliple Files with AJAX File Upload in ASP.Net here.