【发布时间】:2011-04-17 16:33:30
【问题描述】:
当我使用文件上传控件时,我只获取文件名,但我想获取文件位置的完整路径。
如何从 ASP.NET 中的文件上传控件中获取完整路径?
【问题讨论】:
标签: c# asp.net file-upload
当我使用文件上传控件时,我只获取文件名,但我想获取文件位置的完整路径。
如何从 ASP.NET 中的文件上传控件中获取完整路径?
【问题讨论】:
标签: c# asp.net file-upload
作为一种安全措施,这在任何浏览器中都是不可能的。
如果可能的话,攻击者可以获得有关文件/文件夹在客户端计算机上的结构的信息。
为什么需要这些信息?
【讨论】:
您无法获取它,因为浏览器不发送它。如果浏览器在用户的系统上发送完整路径会很危险。
【讨论】:
如果您使用的是 ASP.NET 上传控件,在客户端您可以获得如下所示的完整路径。
document.getElementById('UploadControl').value
在服务器端,
UploadControl.PostedFile.FileName
查看 MSDN 文章 HttpPostedFile.FileName Property 了解更多信息。
【讨论】:
我想你得到了上传控件的文件路径
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);
【讨论】: