2010-09-27 89 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以获取更多信息。

相关问题