ASP.NET多文件上传

MultiUpload.aspx

程序代码 程序代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiUpload.aspx.cs" Inherits="MultiUpload" %>

<!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 language="javascript">
      function addFile()
      {
          var str = '<input type="file" size ="50" name="File" />';
          document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str);
      }
    </script>
</head>
<body>
    <form id="form1" runat="server" method="post" enctype="multipart/form-data">
    <div>
        <p id="MyFile"><input type="file" size="50" name="File" /></p>
        <p>
            <input type="button" value="增加" onclick="addFile()" />
            <input onclick="this.form.reset()" type="button" value="重置" />
            <asp:Button ID="UploadButton" Text="开始上传" runat="server" OnClick="UploadButton_Click" />
        </p>
        <p>
            <asp:Label ID="lblStatus" runat="server"></asp:Label>
        </p>
    </div>
    </form>
</body>
</html>




MultiUpload.aspx.cs

程序代码 程序代码

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

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

    private Boolean SaveImages()
    {
        //遍历File表单元素
        HttpFileCollection files = HttpContext.Current.Request.Files;

        //状态信息
        System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
        strMsg.Append("上传的文件分别是:<hr color=#FF0000 />");
        try
        {
            for (int iFile = 0; iFile < files.Count; iFile )
            {
                //检查文件扩展名字
                HttpPostedFile postedFile = files[iFile];
                string fileName, fileExtension;
                fileName = System.IO.Path.GetFileName(postedFile.FileName);
                if (!string.IsNullOrEmpty(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("images/") fileName);
                }
            }
            lblStatus.Text = strMsg.ToString();
            return true;
        }
        catch (Exception ex)
        {
            lblStatus.Text = ex.Message;
            return false;
        }
    }

    protected void UploadButton_Click(object sender, EventArgs e)
    {
        Boolean uploadsuccess = SaveImages();
        if (!uploadsuccess)
            lblStatus.Text = "上传失败!";
    }
}
posted @ 2008-10-23 09:43  Landy_di  阅读(212)  评论(0)    收藏  举报