最近工作比较忙,好长时间都没有到我的博客里来看看了。前天帮我兄弟解决了一个多文件上传的问题。供大家参考
前台代码如下
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
upMoreFile.aspx.cs
"
Inherits
=
"
upMoreFile
"
%>
<! 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 addFileControl()
... {
var str = '<INPUT type="file" NAME="File">'
document.getElementById('FileCollection').insertAdjacentHTML("beforeEnd",str)
}
</ script >
</ head >
< body >
< form id = " upmorefile " runat = " server " method = " post " enctype = " multipart/form-data " >
< div >
< asp:label id = " Title " Runat = " server " ></ asp:label >
< p id = " FileCollection " >< input type = " file " name = " File " />
</ p >
< p >< input onclick = " addFileControl() " type = " button " value = " 增加(File) " />
< asp:button id = " Upload " Runat = " server " Text = " 上传 " Width = " 56px " OnClick = " Upload_Click " ></ asp:button >< input style = " WIDTH: 56px; HEIGHT: 24px " onclick = " this.form.reset() " type = " button " value = " 重置 " />
</ p >
< p align = " center " >< asp:label id = " strStatus " runat = " server " BorderColor = " White " BorderStyle = " None " Width = " 500px "
Font - Size = " 9pt " Font - Bold = " True " Font - Names = " 宋体 " ></ asp:label ></ p >
</ div >
</ form >
</ body >
</ html >
<! 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 addFileControl()
... {
var str = '<INPUT type="file" NAME="File">'
document.getElementById('FileCollection').insertAdjacentHTML("beforeEnd",str)
}
</ script >
</ head >
< body >
< form id = " upmorefile " runat = " server " method = " post " enctype = " multipart/form-data " >
< div >
< asp:label id = " Title " Runat = " server " ></ asp:label >
< p id = " FileCollection " >< input type = " file " name = " File " />
</ p >
< p >< input onclick = " addFileControl() " type = " button " value = " 增加(File) " />
< asp:button id = " Upload " Runat = " server " Text = " 上传 " Width = " 56px " OnClick = " Upload_Click " ></ asp:button >< input style = " WIDTH: 56px; HEIGHT: 24px " onclick = " this.form.reset() " type = " button " value = " 重置 " />
</ p >
< p align = " center " >< asp:label id = " strStatus " runat = " server " BorderColor = " White " BorderStyle = " None " Width = " 500px "
Font - Size = " 9pt " Font - Bold = " True " Font - Names = " 宋体 " ></ asp:label ></ p >
</ div >
</ form >
</ body >
</ html >
.cs代码如下:
using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class upMoreFile : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
Title.Text = "<h3>多文件上传</h3>";
Upload.Text = "开始上传";
}
/**//// <summary>
/// 方法名:upMoreFile()
/// 功能描述:循环表单,多文件上传
/// 调用方法:bool var=upMoreFile()
/// </summary>
/// <returns>bool</returns>
protected bool upMorefile()
...{
//遍历File表单元素
System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
//状态信息
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息分别为:<hr color=red>");
int fileCount;
int filecount = files.Count;
try
...{
for (fileCount = 0; fileCount < files.Count; fileCount++)
...{
//定义访问客户端上传文件的对象
System.Web.HttpPostedFile postedFile = files[fileCount];
string fileName, fileExtension;
//取得上传得文件名
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != String.Empty)
...{
//取得文件的扩展名
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 color=red>");
//保存到指定的文件夹
postedFile.SaveAs(Server.MapPath("upedFile/") + fileName);
}
}
strStatus.Text = strMsg.ToString();
return true;
}
catch (System.Exception error)
...{
strStatus.Text = error.Message;
return false;
}
}
protected void Upload_Click(object sender, EventArgs e)
...{
upMorefile();
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class upMoreFile : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
Title.Text = "<h3>多文件上传</h3>";
Upload.Text = "开始上传";
}
/**//// <summary>
/// 方法名:upMoreFile()
/// 功能描述:循环表单,多文件上传
/// 调用方法:bool var=upMoreFile()
/// </summary>
/// <returns>bool</returns>
protected bool upMorefile()
...{
//遍历File表单元素
System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
//状态信息
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息分别为:<hr color=red>");
int fileCount;
int filecount = files.Count;
try
...{
for (fileCount = 0; fileCount < files.Count; fileCount++)
...{
//定义访问客户端上传文件的对象
System.Web.HttpPostedFile postedFile = files[fileCount];
string fileName, fileExtension;
//取得上传得文件名
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != String.Empty)
...{
//取得文件的扩展名
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 color=red>");
//保存到指定的文件夹
postedFile.SaveAs(Server.MapPath("upedFile/") + fileName);
}
}
strStatus.Text = strMsg.ToString();
return true;
}
catch (System.Exception error)
...{
strStatus.Text = error.Message;
return false;
}
}
protected void Upload_Click(object sender, EventArgs e)
...{
upMorefile();
}
}
效果如下: