我需要通过asp.net中的文件上传控件上传的文件的实际位置。我尝试过使用
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
答案 0 :(得分:4)
据我所知,这在大多数浏览器中都不是便携式功能。
IE7可能(?)能够支持它,但大多数其他浏览器(FireFox,Opera,Chrome)似乎都说支持文件名,但出于隐私/安全原因隐藏了路径。 (IIRC有些浏览器甚至会“弥补”一些明显的虚假路径,因此您会清楚地看到它已被替换出于安全原因)
我目前没有时间引用其中的来源,但现在这是我的信息
答案 1 :(得分:3)
HttpPostedFile.FileName应该为您提供客户端计算机上文件的FQ路径。
HttpFileCollection MyFileColl = Request.Files;
HttpPostedFile MyPostedFile = MyFileColl.Get(0);
String MyFileName = MyPostedFile.FileName;
请记住browser can return whatever it wants,如果需要的话,选择隐藏部分路径。
总而言之,磁盘上的实际路径无关紧要,因为您拥有HttpPostedFile
中的数据以及名称。