Asp.net 文件上傳的 FileUpload FileName 和 FileUpload PostedFile.FileName的細節問題

ASP.NET 文件上傳估計大家都用得很熟悉,常用控制項 FileUpload 。

主要步驟:

     1.判斷是否合法

     2.獲得文件的路徑 (包括目錄的完整路徑,同時可能需要修改文件名)

     3.保存文件

如:

FileUpload1.SaveAs(Server.MapPath("upload") + "" + FileUpload1.FileName);

估計有初學者弄不清 FileUpload1.FileName 和 FileUpload1.PostedFile.FileName 區別

其實,FileUpload1.FileName 是獲得上傳的文件名,FileUpload1.PostedFile.FileName 獲得上傳的文件名包括其完整路徑。

1 Label1.Text = FileUpload1.FileName;
2 Label2.Text = FileUpload1.PostedFile.FileName;

在FireFox中結果:

在IE6+的結果:

而在IE9中的結果和Firefox的一樣

即 FileUpload1.PostedFile.FileName 獲得的僅是上傳文件的文件名。修改下:

1 Label1.Text = FileUpload1.FileName;
2 Label2.Text = FileUpload1.PostedFile.FileName;
3 Label3.Text = Path.GetFileName(FileUpload1.PostedFile.FileName);

用 Path.GetFileName(FileUpload1.PostedFile.FileName); 來獲取文件名,

推薦閱讀:

怎樣解決起名中的五行問題
1972年周恩來為何對日主動擱置釣魚島問題?
逮捕條件中的社會危險性問題初探
第12講 年齡問題
一位優秀的母親是這樣教女兒處理婚姻問題的!

TAG:細節 | 文件上傳 | 文件 | 問題 |