2010-09-27 116 views
4

當我使用文件上傳控件時,我只獲取文件名,但我想獲取文件位置的完整路徑。獲取文件上傳的完整路徑

如何從ASP.NET中的文件上傳控件獲取完整路徑?

+1

[使用FileUpload控件獲取文件的完整路徑](http://stackoverflow.com/questions/1130560/get-full-path-of-a-file-with-fileupload-control) – ChrisF 2010-09-27 11:27:09

回答

6

作爲安全措施,這在任何瀏覽器中都是不可能的。

如果這是可能的,攻擊者可以獲得關於如何在客戶端計算機上構建文件/文件夾的信息。

爲什麼你需要這些信息?

+1

' UploadControl.PostedFile.FileName'給出了Internet Explorer 8中的完整路徑,至少在我的測試中,Chrome並沒有。 – Magnus 2011-04-01 11:37:52

+2

@Magnus - IE8打破了這種方式。 – Oded 2011-04-01 11:51:08

1

你不能得到它,因爲瀏覽器不會發送它。如果瀏覽器在用戶系統上發送完整路徑將是危險的。

-2

我覺得你得到了上傳控件

HttpPostedFile httpBrowseFile = FileUpload1.PostedFile; 
int FileLength = httpBrowseFile.ContentLength; 
byte[] myData = new byte[FileLength]; 

httpBrowseFile.InputStream.Read(myData, 0, FileLength); 
FName = path + FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf('\\') + 1); 
+5

你覺得呢?你檢查了嗎? – Oded 2010-09-27 09:55:52

+2

這將永遠不會工作 – 2010-09-27 10:36:59

0

如果您使用的是ASP.NET上傳控件的文件路徑,在客戶端就可以得到類似下面的完整路徑。

document.getElementById('UploadControl').value 

在服務器端,

UploadControl.PostedFile.FileName 

檢查MSDN文章HttpPostedFile.FileName Property以獲取更多信息。

相關問題