|
|
介紹 FileUpload 控制項的用法,以及用 Dir
命令抓目錄中檔名的技巧。
|
要傳遞一個檔案到伺服器,一般來說用
FTP 當然是可以的,但是這要跳出執行中的網頁,不僅操作的感覺很遜,事實上也表示此項工作已經在網站程式控管範圍之外了!譬如同學在此地(電腦教室)登入考試,考試檔案實際上由台北友人在家使用別的FTP軟體替你上傳,可以嗎?老師怎麼管制呢?
本節課就來看看老師考試時的考卷上傳及交卷檢視怎麼做的。
|
檔案上傳控制項→FileUpload

1.開啟新網站,佈置一個工具箱『標準』類別下的 FileUpload 控制項。
可以測試執行一下,按下瀏覽鍵就可以選擇要上傳的檔案了!
2.接著在右邊放一個 Button 按鍵,寫上『上傳檔案』
3.在上傳檔案的按鍵事件程式中寫程式如下:

上面程式的意義是:將上傳過來的檔案,以瀏覽窗格中顯示的名字(FileUpload1.Filename)存到目前網站(Server.MapPath)之中(檔名還是FileUpload1.Filename)。
請試一下,上傳一個檔案,然後到檔案總管確認是否成功?
上面的程式有個缺點是上傳檔案會和網頁資料混在一起,如果檔案多了會很麻煩。我們可以在網站內開個目錄,如 Files 再改寫程式如下,只是加上指定路徑而已,檔案就會順利進入指定目錄。

請注意:『瀏覽』是在客戶電腦的目錄中進行,SaveAs 則是在伺服器的電腦運作。測試時其實是位於同一部電腦,真的放上網站時就必須搞清楚了!以上例來說,檔案上傳後是放在『伺服器』的該網站中的
Files 目錄中! |
檢視上傳檔案目錄
檢視上傳檔案的意義是『將伺服器部分的目錄資訊貼到網頁上面』,一種簡單的作法是:
1.在網頁上佈置一個ListBox。
2.在 Page_Load 事件副程式裡面加上程式碼:
ChDir(Server.MapPath("Files\"))
Dim F As String = Dir("*")
Do Until F = ""
ListBox1.Items.Add(F)
F = Dir()
Loop
上面用到的指令相當古老!Dir 指令可以列出本目錄中所有檔案。
ChDir是
Chang Dir 的縮寫,表示要換一個目錄位置。整段程式的意義是:
→切換目錄到D:\Files
→宣告F是個字串顯示目錄中的第一個檔名
→之後每次繼續呼叫Dir()會傳回下一個檔名(沒有其他檔案時會傳回空字串)。
→每個不是空字串的檔名(來自Dir)就加入到ListBox
上面的程式可以在上傳完成之後立即顯示目標目錄的內容。
可以變化應用的部份如下,試試看:
一、ChDir那行指令
ChDir(Server.MapPath(""))
ChDir("D:")
二、選擇顯示檔案類型
Dim F As String = Dir("*.aspx")
|
可以在網頁上殺掉檔案嗎?
說實話,老師還沒玩過,這種功能有點恐怖,就算會大概也暫時不教啦!
|
|
|