您的位置:首页 > 编程语言 > ASP

项目实践之在ASP.NET中实现多文件上传

2007-09-18 22:09 381 查看

<%@ Page language="c#" Codebehind="UpLoad.aspx.cs" AutoEventWireup="false" Inherits="WebPortal.Upload" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >


<HTML>


  <HEAD>


    <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" method="post" runat="server" enctype="multipart/form-data">


      <div align="center">


        <h3>多文件上传</h3>


        <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>


        <P>


          <input type="button" value="增加(Add)" onclick="addFile()">


          <input onclick="this.form.reset()" type="button" value="重置(ReSet)">


          <asp:Button Runat="server" Text="开始上传" ID="UploadButton"></asp:Button>


        </P>


        <P>


        <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt" 


          Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>


        </P> 


      </div>


    </form>


  </body>


</HTML>


UpLoad.aspx.cs




using System;


using System.Collections;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Web;


using System.Web.SessionState;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.HtmlControls;




namespace WebPortal




...{




  /**//// <summary>


  /// UpLoad 的摘要说明。


  /// 实现多文件上传


  /// </summary>


  public class Upload : System.Web.UI.Page




  ...{


    protected System.Web.UI.WebControls.Button UploadButton;


    protected System.Web.UI.WebControls.Label strStatus;




    private void Page_Load(object sender, System.EventArgs e)




    ...{




      /**//// 在此处放置用户代码以初始化页面


      if (this.IsPostBack) this.SaveImages();


    }




    private Boolean SaveImages()




    ...{




      /**////'遍历File表单元素


      HttpFileCollection files  = HttpContext.Current.Request.Files;






      /**//// '状态信息


      System.Text.StringBuilder strMsg = new System.Text.StringBuilder();


      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("images/") + fileName);


          }


        }


        strStatus.Text = strMsg.ToString();


        return true;


      }


      catch(System.Exception Ex)




      ...{


        strStatus.Text = Ex.Message;


        return false;


      }


    }




  Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码


  override protected void OnInit(EventArgs e)




  ...{


  //


  // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。


  //


  InitializeComponent();


  base.OnInit(e);


  }






  /**//// <summary>


  /// 设计器支持所需的方法 - 不要使用代码编辑器修改


  /// 此方法的内容。


  /// </summary>


  private void InitializeComponent()




  ...{    


    this.ID = "Upload";


    this.Load += new System.EventHandler(this.Page_Load);




  }


  #endregion


  }


}



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息