位置:海鸟网 > IT > ASP.NET >

利用ASP.NET设计FTP文件上传(下)

四. 程序源代码:

<% @ Import Namespace=" System.IO " %>
<html >
<BODY >
<script LANGUAGE = "VB" RUNAT = "SERVER" >
 Sub UploadFile_Clicked ( Sender as Object, e as EventArgs )
  Dim lstrFileName as string
  Dim lstrFileNamePath as string
  Dim lstrFileFolder as string
  ' 如果上传目录为空,就使用" c:\ "作为缺省上传目录
  ' 获得上传到服务器的目录名称
  if dir.value <> "" then
   lstrFileFolder = dir.value
  else
   lstrFileFolder = "c:\"
  end if

  ' 获得文件名称
  lstrFileName = loFile.PostedFile.FileName
   ' 注: loFile.PostedFile.FileName 返回的是
   通过文件对话框选择的文件名,这之中包含了文件的目录信息
  lstrFileName = Path.GetFileName ( lstrFileName )
   ' 去掉目录信息,返回文件名称

  ' 判断上传目录是否存在,不存在就建立
  If ( not Directory.Exists ( lstrFileFolder ) ) Then
   Directory.CreateDirectory ( lstrFileFolder )
  End If

   '上传文件到服务器
  lstrFileNamePath = lstrFileFolder & lstrFileName
   ' 得到上传目录及文件名称
  loFile.PostedFile.SaveAs ( lstrFileNamePath )

   ' 获得并显示上传文件的属性
  FileName.Text = lstrFileName
   ' 获得文件名称
  FileType.Text = loFile.PostedFile.ContentType
   ' 获得文件类型
  FileLength.Text = cStr ( loFile.PostedFile.ContentLength )
   ' 获得文件长度
  FileUploadForm.visible = false
  AnswerMsg.visible = true
   ' 显示上传文件属性
  End sub
</script >
<ASP:panel id = "FileUploadForm" visible = " true " runat = "server" >
<form method = "post" enctype = "multipart/form-data" runat = "server" >
 <h1 > 欢迎使用ASP.NET页面实现文件上传 </h1 >
  请选择上传到服务器的文件名称:
 <input id = "loFile" type = "file" runat = "server" > <br >
  请输入上传到服务器的目录名称:
 <input id = "dir" type = "text" runat = "server" > <br >
 <input type = "submit" value = "开始上传" OnServerClick = "  
   UploadFile_Clicked" runat = "server" >
 <br >
</form >
</ASP:panel >

<ASP:panel id = "AnswerMsg" visible = " false " runat = "server" >
 谢谢使用ASP.NET页面实现文件上传 <br >
 成功上传 <ASP:label id = "FileName" runat = "server" /> <br >
 文件大小 <ASP:label id = "FileLength" runat = "server" /> 字节 <br >  文件类型 <ASP:label id = "FileType " runat = "server" /> <br >
</ASP:panel >
</BODY >
</HTML >

  五. 总结

  至此我们就完成了一个比较完善的FTP文件上传软件的全部工作,由此可见ASP.NET的功能还是比较强大的。通过本例子,我们也看到要想灵活运用ASP.NET,还要深入掌握微软公司为.NET FRAMEWORK开发的软件开发包(SDK BETA 2),只有掌握了.NET FRAMEWORK开发的软件开发包,才可能用ASP.NET开发出功能更强大,生命力更大的软件。