在ASP.NET中实现多文件上传

aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="多文件上传.aspx.cs" Inherits="Image" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
     <script type="text/javascript">
    function addFile() 
    {
        today = new Date();
        var _Date = today.getDate() + "a" + today.getHours() + "b" + today.getMinutes() + "c" + today.getSeconds();
        var _DIV = today.getDate() + "c" + today.getHours() + "b" + today.getMinutes() + "a" + today.getSeconds();
    
        var div = document.createElement("div");
        div.setAttribute("id", _DIV)
        var f = document.createElement("input");
        f.setAttribute("type", "file")
        f.setAttribute("name", "File")
        f.setAttribute("size", "50")
        div.appendChild(f)
        var d = document.createElement("input");
        d.setAttribute("type", "button")
        d.setAttribute("id", _Date)
        d.setAttribute("value", "移除")
        div.appendChild(d)
        document.getElementById("_container").appendChild(div);
        test(_Date,_DIV);
    }
</script>

</head>
<body>
     <form id="form1" runat="server" method="post" enctype="multipart/form-data">
<h3>多文件上传</h3>
   用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<div id="_container">
    <input type="file" size="50" name="File" />
</div>
<div>
    <input type="button" value="添加文件(Add)" onclick="addFile()" />
</div>
<div style="padding:10px 0">
    <asp:Button runat="server" Text="开始上传" ID="UploadButton" onclick="UploadButton_Click"></asp:Button>
</div>
<div>
    <asp:Label ID="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt" Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
</div>
</form>
<script type="text/javascript">
    function test(_Date,_DIV)   
    {    
      document.getElementById(_Date).onclick = function() 
      { 
        var obj = document.getElementById(_DIV);
        obj.parentNode.removeChild(obj);
      }
    }   
</script>
</body>
</html>

CS文件:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class Image : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void UploadButton_Click(object sender, EventArgs e)
    {
        ///'遍历File表单元素
        HttpFileCollection files = HttpContext.Current.Request.Files;

        /// '状态信息
        System.Text.StringBuilder strMsg = new System.Text.StringBuilder("您输入的用户名是:" + TextBox1.Text + "<br/>");
        strMsg.Append("上传的文件分别是:<hr color='red'/>");
        try
        {
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                ///'检查文件扩展名字
                HttpPostedFile postedFile = files[iFile];
                string fileName, fileExtension;
                fileName = System.IO.Path.GetFileName(postedFile.FileName);
                if (fileName != "")
                {
                    fileExtension = System.IO.Path.GetExtension(fileName);
                    strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
                    strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
                    strMsg.Append("上传文件的文件名:" + fileName + "<br>");
                    strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
                    ///'可根据扩展名字的不同保存到不同的文件夹
                    ///注意:可能要修改你的文件夹的匿名写入权限。
                    postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("Image/") + fileName);
                }
            }
            strStatus.Text = strMsg.ToString();
        }
        catch (System.Exception Ex)
        {
            strStatus.Text = Ex.Message;
        }
    }
}

posted @ 2015-10-08 13:55  z542601362  阅读(84)  评论(0)    收藏  举报