2011-11-02 69 views
2

的完整文件名是否有可能在asp.net mvc的獲得上傳的文件的完整文件名[在這裏輸入的形象描述]Asp.net MVC - 獲取上傳的文件

UPDATE 該數據包含了?!只有文件名,但沒有文件路徑!有關詳細信息,請參見attach

+0

你是指完整的文件路徑嗎?或者只是文件名? –

+0

@Scott Rippey,完整的文件名。 – Alexandre

+0

哦,好的。只是爲了澄清,你認爲什麼是「完整的文件名」? 「C:\ Path \ To \ My File.txt」或「My File.txt」? –

回答

8

這取決於瀏覽器。
大多數瀏覽器(FF,Chrome,Safari)都不會發送此信息,主要是出於安全原因。但是,似乎有些版本的IE確實發送了完整的客戶端路徑。
該值將被存儲在HttpPostedFileFileName屬性中。

The documentation for FileName should help.它說:

文件名:客戶端的文件的名稱,包括目錄路徑。

在以下代碼中,postedFile.FileName將因瀏覽器而異。因此,始終只提取文件名是很重要的,你也可能會很幸運,也可以獲得clientPath

public ActionResult UploadFile(HttpPostedFile postedFile) { 
    var clientPath = IO.Path.GetDirectoryName(postedFile.FileName); 
    var filename = IO.Path.GetFileName(postedFile.FileName); 
    ... Save the file, etc ... 
} 
+0

請看看我的依戀。 – Alexandre