HTML部分  
 
<%@  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>  
 
代码部分  
 
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  
}  
}

posted on 2007-02-07 14:56  mbskys  阅读(153)  评论(0)    收藏  举报