利用ASP.NET設計FTP檔案上傳(中)
來源:互聯網
上載者:User
三. 軟體設計中的重要步驟及具體解決辦法
<一>.選擇本地要上傳到伺服器的檔案
首先要感謝ASP.NET的強大功能,他提供的HTML控制元件,使得我們很容易的通過一個對話方塊來選擇要上傳的檔案。當然你的瀏覽器也必須是IE 3.02 或者Netscape 3.0版本或者比這二者版本高的瀏覽器。通過下列語句就可以完成選擇本地一個檔案的工作:
<input id = " loFile " type = " file " runat = " server " >
<二>.為了成功完成檔案上傳工作,在Form中的編碼必須用" multipart/form-data " , 而不用From的預設編碼" application/x-www-form-urlencoded "。具體代碼如下:
<form method = " post " enctype =" multipart/form-data " runat = " server ">
</form >
<三>.獲得上傳的檔案名稱及對磁碟的若干操作
為了獲得上傳的檔案名稱,必須要引入一個名稱空間( NameSapce ) --System.IO。此名稱空間裡面定義了許多關於檔案及磁碟操作的類,在本軟體中就是通過這些類的某些方法和屬性來完成軟體中的一些功能。
(1). 獲得上傳檔案的名稱
使用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
'顯示上傳檔案屬性
以上就是本軟體在編寫時的一些比較重要的地方。