2011-10-14 36 views
0

我需要通過asp.net中的文件上傳控件上傳的文件的實際位置。我已經使用我怎樣才能得到在asp.net中上傳的文件的源地址c#

string fileName = Path.GetFullPath(fUpldGetDoc.PostedFile.FileName); 

嘗試,但它返回

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\angel from montegomery.txt 

,但我需要的文件,即實際位置,

e:\angel from montegomery.txt 

回答

4

據我記得,這是不是在大多數瀏覽器中具有便攜功能。 ()能夠支持它,但大多數其他瀏覽器(FireFox,Opera,Chrome)似乎都表示支持文件名,但是出於隱私/安全原因隱藏該路徑。 (IIRC一些瀏覽器甚至會'彌補'一些明顯的虛假路徑,所以你會清楚地看到它已被替換出於安全的原因)

我現在沒有時間引用一個來源,但現在這是我的信息

編輯:信息概述behavior across browsers when using this property

+1

@AaronMcIver:感謝一羣人讓我的提示成爲答案 – sehe

3

HttpPostedFile.FileName應該爲您提供客戶機器上文件的FQ路徑。

HttpFileCollection MyFileColl = Request.Files; 
HttpPostedFile MyPostedFile = MyFileColl.Get(0); 
String MyFileName = MyPostedFile.FileName; 

請記住,browser can return whatever it wants,選擇加入隱藏路徑的部分,如果它希望這樣。

磁盤上的所有實際路徑都是不相關的,因爲您有HttpPostedFile中的數據以及名稱。

相關問題