使用多个文件上传控件的Asp.net多次上传

本文关键字:Asp net 控件 文件 | 更新日期: 2023-09-27 18:03:11

我正在做一个处理多个文件上传的小项目。

一开始用户有一个fileupload控件一个名为fileuploadadder的小图像

每次用户点击fileuploadadder时,一个克隆第一个fileupload控件添加到使用jquery的页面。fileupload控件的id 惟一的。如file1, file2,…

现在,我希望当用户单击页面末尾的按钮时,asp.net上传所选文件。

tnx

使用多个文件上传控件的Asp.net多次上传

下面是一个例子:

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<script type="text/c#" runat="server">
    protected void BtnUpload_Click(object sender, EventArgs e)
    {
        if (Request.Files != null)
        {
            foreach (string file in Request.Files)
            {
                var uploadedFile = Request.Files[file];
                if (uploadedFile.ContentLength > 0)
                {
                    var appData = Server.MapPath("~/app_data");
                    var fileName = Path.GetFileName(uploadedFile.FileName);
                    uploadedFile.SaveAs(Path.Combine(appData, fileName));
                }
            }
        }
    }
</script>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <form id="Form1" runat="server" enctype="multipart/form-data">
        <a href="#" id="add">Add file</a>
        <div id="files"></div>
        <asp:LinkButton ID="BtnUpload" runat="server" Text="Upload" OnClick="BtnUpload_Click" />
    </form>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    <script type="text/javascript">
        $('#add').click(function () {
            $('#files').append($('<input/>', {
                type: 'file',
                name: 'file' + new Date().getTime()
            }));
            return false;
        });
    </script>
</body>
</html>