现在的位置: 首页 > 综合 > 正文

(C#)实现多文件上传

2012年09月10日 ⁄ 综合 ⁄ 共 2651字 ⁄ 字号 评论关闭
<!--StartFragment--><%@ 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>

CS代码:

using System;<br /> using System.Collections;<br /> using System.ComponentModel;<br /> using System.Data;<br /> using System.Drawing;<br /> using System.Web;<br /> using System.Web.SessionState;<br /> using System.Web.UI;<br /> using System.Web.UI.WebControls;<br /> using System.Web.UI.HtmlControls;</p> <p>namespace WebPortal<br /> {<br /> ///<br /> <summary> /// UpLoad 的摘要说明。<br /> /// 实现多文件上传<br /> /// </summary> <p> public class Upload : System.Web.UI.Page<br /> {<br /> protected System.Web.UI.WebControls.Button UploadButton;<br /> protected System.Web.UI.WebControls.Label strStatus;</p> <p> private void Page_Load(object sender, System.EventArgs e)<br /> {<br /> /// 在此处放置用户代码以初始化页面<br /> if (this.IsPostBack) this.SaveImages();<br /> }</p> <p> private Boolean SaveImages()<br /> {<br /> ///'遍历File表单元素<br /> HttpFileCollection files = HttpContext.Current.Request.Files;</p> <p> /// '状态信息<br /> System.Text.StringBuilder strMsg = new System.Text.StringBuilder();<br /> strMsg.Append("上传的文件分别是:<br /> <hr color="red">");<br /> try<br /> {<br /> for(int iFile = 0; iFile ");<br /> strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br />");<br /> strMsg.Append("上传文件的文件名:" + fileName + "<br />");<br /> strMsg.Append("上传文件的扩展名:" + fileExtension + "<br /> <hr />");<br /> ///'可根据扩展名字的不同保存到不同的文件夹<br /> ///注意:可能要修改你的文件夹的匿名写入权限。<br /> postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);<br /> }<br /> }<br /> strStatus.Text = strMsg.ToString();<br /> return true;<br /> }<br /> catch(System.Exception Ex)<br /> {<br /> strStatus.Text = Ex.Message;<br /> return false;<br /> }<br /> }<br /> #region Web 窗体设计器生成的代码<br /> override protected void OnInit(EventArgs e)<br /> {<br /> //<br /> // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。<br /> //<br /> InitializeComponent();<br /> base.OnInit(e);<br /> }</p> <p> ///<br /> <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改<br /> /// 此方法的内容。<br /> /// </summary> <p> private void InitializeComponent()<br /> {<br /> this.ID = "Upload";<br /> this.Load += new System.EventHandler(this.Page_Load);</p> <p> }<br /> #endregion<br /> }<br /> }<br /> ..................................................................................................................................
提示:
大家最好能够把上传做成一个ifream,这样就算刷新了哪也不会影响别人数据!

抱歉!评论已关闭.