会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
hongyuniu
Whatever You Do, Do Your Best !
博客园
::
首页
::
博问
::
闪存
::
新随笔
::
联系
::
订阅
::
管理
::
公告
ASP.NET同时上传多个文件
不管是BS还是CS都经常要用到文件上传 以下是ASP.NET同时上传多个附件的代码
不管是BS还是CS都经常要用到文件上传 以下是ASP.NET同时上传多个附件的代码
<%
@ 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
;
}
}
Web 窗体设计器生成的代码
#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-07-31 15:34
CsharpFish
阅读(
4494
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部