以往ASP.NET 1.0只能使用Client端的Input(File)进行文件上传,但功能略为简单;而ASP.NET 2.0则内置了服务器端的FileUpload文件上传控件,它的功能比Input(File)功能更丰富更强大。FileUpload向控件程序员提供了更大的操控性,让程序员可以介入到更底层的操控,这是Input(File)所不及的。
范例1 FileUpload控件上传文件
让我们先实现第一个FileUpload范例,熟悉它如何运作后,再来深入了解更多细部功能。请参考FileUpload.aspx程序,步骤说明如下:
添加消息显示Label
请添加两个Label,一个作为指定文件标题显示,另一个当作上传完成消息显示。
创建FileUpload控件
请拖曳一个FileUpload控件到Page页面,FileUpload控件本身只提供文件的选取功能,而实际开始执行文件上传操作则必须另行创建一个Button按钮Click来触发(见图1)。
加入上传Button按钮
由于FileUpload控件必须由用户触发才会开始进行上传操作,故在此创建一个Button按钮控件,并双击Button按钮加入Click事件程序。
01 '文件上传
02 Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnUpload.Click
03 '检查是否有文件
04 If FileUpload1.HasFile Then
05 Try
06 '获取网站根目录路径
07 Dim path As String =
HttpContext.Current.Request.MapPath("~/")
08 '存储文件到磁盘
09 FileUpload1.SaveAs(path & FileUpload1.FileName)
10
11 txtMsg.Text = "文件名称:" & FileUpload1.PostedFile.FileName
& "<br>"
12 txtMsg.Text += "文件大小:" &
FileUpload1.PostedFile.ContentLength & " Bytes<br>"
13 txtMsg.Text += "文件类型:" &
FileUpload1.PostedFile.ContentType & "<br>"