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 Exercise
... {
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : 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
...{
//遍历File表单元素
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;
}
}
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
...{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
...{
this.UploadButton.Click += new System.EventHandler(this.UploadButton_Click);
this.ID = "Upload";
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void UploadButton_Click(object sender, System.EventArgs e)
...{
}
}
}
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 Exercise
... {
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : 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
...{
//遍历File表单元素
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;
}
}
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
...{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
...{
this.UploadButton.Click += new System.EventHandler(this.UploadButton_Click);
this.ID = "Upload";
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void UploadButton_Click(object sender, System.EventArgs e)
...{
}
}
}
<%
...
@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Exercise.WebForm1"
%>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< HEAD >
< title > 多文件上传 </ title >
< script language ="JavaScript" > ...
function addFile()
...{
//知识点:向客户端添加HTML代码,注意添加的规则
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 >
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< HEAD >
< title > 多文件上传 </ title >
< script language ="JavaScript" > ...
function addFile()
...{
//知识点:向客户端添加HTML代码,注意添加的规则
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 >