ASP.NET上传多个文件

本文介绍了一个简单的 ASP.NET 多文件上传功能实现方法,包括前端页面的按钮添加及文件选择输入框的动态生成,以及后端 C# 代码处理上传文件、验证文件类型并保存到服务器的过程。

 上传多个文件,效果图如下:

前台代码和JavaScript脚本:

<mce:script type="text/javascript"><!-- function AddFile() { var strFile='<input name="File1" type="file" /></br>'; document.getElementById("DivFile").insertAdjacentHTML("beforeEnd",strFile); } // --></mce:script> <div id="DivFile"> <input id="File1" type="file" /> </div> <input id="BtnAddFile" type="button" value="添加附件" onclick="javascript:AddFile()" />

后台处理代码:

  protected void BtnUpFiles_Click(object sender, EventArgs e) { StringBuilder strMessage = new StringBuilder(); //HttpFileCollection: 提供对客户端上载文件的访问,并组织这些文件。 HttpFileCollection Files = HttpContext.Current.Request.Files; for (int i = 0; i < Files.Count;i++ ) { //HttpPostedFile: 提供对客户端已上载的单独文件的访问。 HttpPostedFile PostedFile = Files[i]; if (PostedFile.ContentLength>0) { string FileName = PostedFile.FileName; string strExPrentFile = FileName.Substring(FileName.LastIndexOf(".") + 1);//获取文件后缀名; string[] NoExPrentFile = new string[] { "exe", "asp", "php" }; bool IsUp = true; //过滤文件格式。 for (int j = 0; j < NoExPrentFile.Length; j++) { if (strExPrentFile.Equals(NoExPrentFile[j])) { IsUp = false; } } if (IsUp)//如果格式正确; { //构成文件路径:(文件名(由时间格式生成)+后缀名) string sFilePath = string.Format("files/{0}.{1}", DateTime.Now.ToString("mmhhddss"), strExPrentFile); PostedFile.SaveAs(Server.MapPath(sFilePath)); strMessage.Append("文件上传成功!"); strMessage.Append(string.Format("{0}.{1}", DateTime.Now.ToString("mmhhddss"), strExPrentFile)); strMessage.Append("<br />"); strMessage.Append("文件的格式:"); strMessage.Append(strExPrentFile); strMessage.Append("<br />```````````````<br />"); //this.LabMessage.Text = "文件上传成功!" + "<br />文件名是:" + string.Format("{0}.{1}", DateTime.Now.ToString("mmhhddss"), strExPrentFile) + "<br />文件的格式:" + strExPrentFile; } else { this.LabMessage.Text = string.Format("不允许上传{0}格式文件", NoExPrentFile); } } else { this.LabMessage.Text = "不能上传空文件"; } } this.LabMessage.Text = strMessage.ToString(); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值