在以前的Web应用中,上传文件是个很麻烦的事,现在有了.
NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:
MultiUpl
oad.aspx
<%@PageLanguage="vb"AutoEventWireup="false"Codebehind="MultiUpload.aspx.vb"
Inherits="aspxWeb.MultiUpload"%>
functionaddFile()
{
varstr=''
document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
}
xml:namespace prefix = asp />
Font-Size="9pt"Width="500px"BorderStyle="None"BorderColor="White">
后代码:MultiUpload.aspx.vb
PublicClassMultiUpload
InheritsSystem.Web.UI.Page
ProtectedWithEventsUploadAsSystem.Web.UI.WebControls.Button
ProtectedWithEventsMyTitleAsSystem.Web.UI.WebControls.Label
ProtectedWithEventsstrStatusAsSystem.Web.UI.WebControls.Label
#Region"WebFormDesignerGeneratedCode"
'ThiscallisrequiredbytheWebFormDesigner.
PrivateSubInitializeComponent()
EndSub
PrivateSubPage_Init(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Init
'CODEGEN:ThismethodcallisrequiredbytheWebFormDesigner
'Donotmodifyitusingthecodeeditor.
InitializeComponent()
EndSub
#EndRegion
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
MyTitle.Text="
多文件上传
"
Upload.Text="开始上传"
If(Me.IsPostBack)ThenMe.SaveImages()
EndSub
PrivateFunctionSaveImages()AsSystem.Boolean
'遍历File表单元素
DimfilesAsSystem.Web.HttpFileCollection=System.Web.HttpContext.Current.Request.Files
'状态信息
DimstrMsgAsNewSystem.Text.StringBuilder("上传的文件分别是:")
DimiFileAsSystem.Int32
Try
ForiFile=0Tofiles.Count-1
'检查文件扩展名字
DimpostedFileAsSystem.Web.HttpPostedFile=files(iFile)
DimfileName,fileExtensionAsSystem.String
fileName=System.IO.Path.GetFileName(postedFile.FileName)
IfNot(fileName=String.Empty)Then
fileExtension=System.IO.Path.GetExtension(fileName)
strMsg.Append("上传的文件类型:"+postedFile.ContentType.ToString()+"
")
strMsg.Append("客户端文件地址:"+postedFile.FileName+"
")
strMsg.Append("上传文件的文件名:"+fileName+"
")
strMsg.Append("上传文件的扩展名:"+fileExtension+"
")
'可根据扩展名字的不同保存到不同的文件夹
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/")+fileName)
EndIf
Next
strStatus.Text=strMsg.ToString()
ReturnTrue
CatchExAsSystem.Exception
strStatus.Text=Ex.Message
ReturnFalse
EndTry
EndFunction
EndClass
C#版本
UpLoad.aspx
<%@Pagelanguage="c#"Codebehind="UpLoad.aspx.cs"AutoEventWireup="false"Inherits="WebPortal.Upload"%>
functionaddFile()
{
varstr=''
document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
}
多文件上传