本文来自http://dotnet.aspx.cc/article/58ea3515-36f2-4fd9-ac89-eaf49f59816c/read.aspx
在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:
ASPX 代码 <% @ Page Language = " C# " AutoEventWireup = " true " CodeFile = " MultiFileUpload.aspx.cs " Inherits = " MultiFileUpload " %> <! 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 type ="text/javascript" > function addFile() { var div = document.createElement( " div " ); var f = document.createElement( " input " ); f.setAttribute( " type " , " file " ) f.setAttribute( " name " , " File " ) f.setAttribute( " size " , " 50 " ) div.appendChild(f) var d = document.createElement( " input " ); d.setAttribute( " type " , " button " ) d.setAttribute( " onclick " , " deteFile(this) " ); d.setAttribute( " value " , " 移除 " ) div.appendChild(d) document.getElementById( " _container " ).appendChild(div); } function deteFile(o) { while (o.tagName != " DIV " ) o = o.parentNode; o.parentNode.removeChild(o); } </ script > </ head > < body > < form id ="form1" runat ="server" method ="post" enctype ="multipart/form-data" > < h3 > 多文件上传 </ h3 > 用户名: < asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox > < div id ="_container" > < input type ="file" size ="50" name ="File" /> </ div > < div > < input type ="button" value ="添加文件(Add)" onclick ="addFile()" /> </ div > < div style ="padding:10px 0" > < asp:Button runat ="server" Text ="开始上传" ID ="UploadButton" onclick ="UploadButton_Click" ></ asp:Button > </ div > < div > < asp:Label ID ="strStatus" runat ="server" Font-Names ="宋体" Font-Bold ="True" Font-Size ="9pt" Width ="500px" BorderStyle ="None" BorderColor ="White" ></ asp:Label > </ div > </ form > </ body > </ html > C# 代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class MultiFileUpload : System.Web.UI.Page{ protected void UploadButton_Click( object sender, EventArgs e) { /// '遍历File表单元素 HttpFileCollection files = HttpContext.Current.Request.Files; /// '状态信息 System.Text.StringBuilder strMsg = new System.Text.StringBuilder( " 您输入的用户名是: " + TextBox1.Text + " <br/> " ); 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(); } catch (System.Exception Ex) { strStatus.Text = Ex.Message; } }}转载于:https://www.cnblogs.com/Mygirl/archive/2011/10/12/2208654.html
相关资源:asp.net利用ftp上传文件实现示例代码