我正在使用c#,asp.net并在Web应用程序上工作。
我最初有一条相对路径,我需要成为绝对路径。 以下工作但需要获得绝对路径:
return Chart.RenderChartHTML("../../Charts/MSLine.swf");
我尝试了以下哪些不起作用(请注意,它为我提供了我的硬盘驱动器上的完整路径.swf):
string mslinepath = HttpContext.Current.Server.MapPath("Charts/MSLine.swf");
return Chart.RenderChartHTML(mslinepath);
然后我尝试了以下工作:
string mslinepath = VirtualPathUtility.ToAbsolute("~/Charts/MSLine.swf");
return Chart.RenderChartHTML(mslinepath);
想知道为什么VirtualPathUtility.ToAbsolute工作而另一个没有。
答案 0 :(得分:12)
MapPath
返回服务器上与指定虚拟路径对应的物理文件路径
(例如:“C:\ inetpub \ wwwroot \ Charts \ MSLine.swf”)
ToAbsolute
将应用程序相对虚拟路径(以“〜/”开头)转换为绝对虚拟路径。
(例如:“/ AppName / Chat / MSLine.swf”)