asp.net多个上传文件,具有多个文件上传控件

时间:2011-07-24 11:45:16

标签: c# jquery .net asp.net file-upload

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

在开始用户处有一个文件上传控件一个小图片,名为 fileuploadadder

每次用户点击fileuploadadder,第一个fileupload 控件的克隆添加到 jquery 。 fileupload控件的 ids uniqe 。例如file1,file2,......

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

tnx

1 个答案:

答案 0 :(得分:4)

以下是一个例子:

<%@ 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>