如何在asp.net c#中获得上传文件的源地址?

本文关键字:文件 源地址 asp net | 更新日期: 2023-09-27 18:11:20

我需要的文件的实际位置,我刚刚通过一个文件上传控件在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

如何在asp.net c#中获得上传文件的源地址?

据我所知,这在大多数浏览器中都不是一个可移植的特性。

IE7可能(?)能够支持它,但大多数其他浏览器(FireFox, Opera, Chrome)似乎说文件名是支持的,但出于隐私/安全原因,路径是隐藏的。(IIRC有些浏览器甚至会"编造"一些明显的虚假路径,这样你就会清楚地看到它已被替换为安全原因)

我现在没有时间引用来源,但现在这是我的信息

EDIT:使用此属性时跨浏览器行为的概要信息。

httppostdfile。FileName应该提供文件在客户端机器上的FQ路径。

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

请记住,浏览器可以返回它想要的任何内容,如果需要,可以选择隐藏部分路径。

总而言之,磁盘上的实际路径是无关紧要的,因为您在HttpPostedFile中有数据以及名称。