如何在c#中将物理路径转换为虚拟路径

时间:2011-12-01 17:29:52

标签: c#

我想将文件存储在D盘

 string fileName = Path.Combine(Server.MapPath(@"D:\Files"), File_Video.FileName);

如何将其转换为虚拟路径

2 个答案:

答案 0 :(得分:2)

我不确定您的代码示例是什么。 Server.MapPath将虚拟路径作为其参数,而不是物理路径。如果您希望filename包含物理路径,则只需执行以下操作:

string fileName = Path.Combine(@"D:\Files", File_Video.FileName);

如果你想知道如何获取d:\ files的虚拟目录(例如,你可以链接到那里的东西)那么这就更难了,因为不一定有任何映射。通常,要访问这些文件,您可以设置指向该物理路径的虚拟目录,并将其硬编码到链接中。否则,您可以创建一个代理页面,作为文件的aproxy。这样做的好处是能够进行安全检查等,以确保只有登录用户可以访问等等(因为视频很大,你可能不希望整个互联网能够访问它,如果他们知道正确的网址。

我希望这能解决你的问题。如果没有,你能澄清你的问题吗?

答案 1 :(得分:0)

当您拥有虚拟路径时,基本上使用Server.MapPath()。对于物理路径,您可以直接使用Path.Combine(param1,param2)

希望这会对你有帮助!