36
A
回答
32
也许this question是你在找什么。 在那里,他们建议:
String RelativePath = AbsolutePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty);
22
public static string MapPathReverse(string fullServerPath)
{
return @"~\" + fullServerPath.Replace(HttpContext.Current.Request.PhysicalApplicationPath,String.Empty);
}
+0
这适用,但在我的情况下,由于某种原因PhysicalApplicationPath是小写的,但我的fullServerPath中的路径即使从文件系统读取也不是。由于Windows没有区分大小写的路径,所以将其全部转换为小写可能没有问题 – 2017-01-12 08:04:24
8
你也可以做这样的事情:
string relativePath = absolutePath.Replace(HttpContext.Current.Server.MapPath("~/"), "~/").Replace(@"\", "/");
的好处是,你不需要HttpContext.Current.Request
。
+0
这实际上是一个更好的答案,因为您不需要请求对象。 – 2017-08-21 10:57:08
9
Request.ServerVariables["APPL_PHYSICAL_PATH"]
很好,但并不总是如此。只有存在HTTP请求时才可用。
在另一方面通话
HostingEnvironment.ApplicationPhysicalPath
是总是可用。
相关问题
- 1. 从物理路径转换到虚拟路径
- 2. PHP:将虚拟路径转换为物理路径
- 3. 使用Server.Mappath - 物理路径给出,虚拟路径预期
- 4. 如何将物理路径转换为虚拟路径在C#
- 5. Site.less'是一个物理路径,但预计虚拟路径
- 6. 相对虚拟路径不在这里
- 7. 从相对路径c获取绝对路径#
- 8. 在asp classic中获取完整路径的虚拟路径
- 9. ASP.NET MVC从虚拟路径
- 10. 获取相对路径
- 11. 虚拟路径null?
- 12. App在ASP.NET中物理路径的相对路径
- 13. 从maven的相对路径获取完整路径
- 14. IIS应用程序的物理路径应该与虚拟路径匹配吗?
- 15. 从$().css(“background-image”)获取相对路径
- 16. 获取物理磁盘路径
- 17. 从绝对路径中提取相对路径
- 18. 点IP到虚拟路径
- 19. php包括虚拟路径
- 20. 虚拟路径问题
- 21. ASP.NET中的虚拟路径
- 22. 实现虚拟路径
- 23. 获取文件路径的相对路径?
- 24. 相对路径或绝对路径
- 25. Node.js:相对路径和绝对路径
- 26. 绝对路径和相对路径
- 27. 改变相对路径绝对路径
- 28. 相对路径
- 29. 相对路径
- 30. 相对路径
考虑到IIS中的多个虚拟目录可能映射到相同的物理目录,即使在单个应用程序中也是如此。那么如何回答这个问题呢? – 2011-05-21 13:09:05