您现在的位置: 365建站网 > 365学习 > asp.net上传文件小结

asp.net上传文件小结

文章来源:365jz.com     点击数:2374    更新时间:2009-09-22 09:37   参与评论

<input id = " loFile " type = " file " runat = " server " >
<form method = " post " enctype =" multipart/form-data " runat = " server ">
</form >
1.获得上传文件的名称:(关键是PostedFile类的应用)
 使用Path类中的GetFileName方法,具体如下:

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

(2). 判断上传目录是否存在,不存在就建立

  建立目录要使用到Directory类中的 CreateDirectory 方法,判断目录是否存在要用到 Directory 类中的Exists方法。具体如下:

If ( not Directory.Exists( lstrFileFolder ) ) Then
 Directory.CreateDirectory ( lstrFileFolder )
End If
 ' 注:lstrFileFolder是用户填入的目录名称,或者是缺省的目录名称

  <四>.上传选定文件到服务器上

  在前面工作都已经完成以后,就可以上传文件了,上传文件相对比较简单,就用下面2行语句就可以完成上传工作。

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
 '显示上传文件属性

<% @ 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 >


Trackback: http://tb.donews.net/TrackBack.aspx?PostId=240207

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (2374人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------