<dd id="dujzp"><noscript id="dujzp"></noscript></dd>
    <progress id="dujzp"><track id="dujzp"></track></progress>
    1. IT职业教育

      华中地区北大青鸟校区IT集训营

      027-87807717

      北大青鸟首页 > 热门IT技术教程 > .Net技术教程 > > ASP.NET中实现多文件上传的实例程序代码

      ASP.NET中实现多文件上传的实例程序代码

      时间:2012-01-14 10:59 来源:北大青鸟武汉宏鹏鲁广校区作者:admin
      导读:武汉北大青鸟鲁广校区.NET技术 在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。 可以动态添加输入表单,
      武汉北大青鸟鲁广校区.NET技术
      在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。
      可以动态添加输入表单,上传的文件数量没有限制。代码如下:
      multiupload.aspx
      <%@ Page Language="vb" AutoEventWireup="false" Codebehind="MultiUpload.aspx.vb"
       Inherits="aspxWeb.MultiUpload" %>
      <!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">
            <center>
              <asp:Label Runat="server" ID="MyTitle"></asp:Label>
              <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
              <P>
                <input type="button" value="增加(Add)" onclick="addFile()">
                <asp:Button Runat="server" Text="上传" ID="Upload"></asp:Button>
                <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
              </P>
            </center>
            <P align="center">
              <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True"
               Font-Size="9pt" Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
            </P>
          </form>
        </body>
      </HTML>
      后代码:multiupload.aspx.vb
      public Class MultiUpload
          Inherits System.Web.UI.Page
        Protected WithEvents Upload As System.Web.UI.WebControls.Button
        Protected WithEvents MyTitle As System.Web.UI.WebControls.Label
        Protected WithEvents strStatus As System.Web.UI.WebControls.Label
      #region " Web Form Designer Generated Code "
        'This call is required by the Web Form Designer.
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        End Sub
        Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
          'CODEGEN: This method call is required by the Web Form Designer
          'Do not modify it using the code editor.
          InitializeComponent()
        End Sub
      #end Region
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
          MyTitle.Text = "<h3>多文件上传</h3>"
          Upload.Text = "开始上传"
          If (Me.IsPostBack) Then Me.SaveImages()
        End Sub
        Private Function SaveImages() As System.Boolean
          '遍历File表单元素
          Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files
          '状态信息
          Dim strMsg As New System.Text.StringBuilder("上传的文件分别是:<hr color=red>")
          Dim iFile As System.Int32
          Try
            For iFile = 0 To files.Count - 1
              '检查文件扩展名字
              Dim postedFile As System.Web.HttpPostedFile = files(iFile)
              Dim fileName, fileExtension As System.String
              fileName = System.IO.Path.GetFileName(postedFile.FileName)
              If Not (fileName = String.Empty) Then
                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)
              End If
            Next
            strStatus.Text = strMsg.ToString()
            Return True
          Catch Ex As System.Exception
            strStatus.Text = Ex.Message
            Return False
          End Try
        End Function
      End Class
       
      c# 版本
      upload.aspx
      <%@ 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;
            }
          }
        #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
        }
      }
      告诉我们,你现在想了解什么?

      精彩专题——96%的同学看到这里都会点击下面的专题

      Copyright (c) 2006-2020 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.

      彩图诗句 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>