如何将物理路径转换为虚拟路径

时间:2014-08-28 17:47:57

标签: c# asp.net

下面你可以看到数据库中存储的路径以及我需要它的样子。所以我可以使用路径来改变图像。

来自数据库:

  

C:\ Users \ AlphaDog \ Desktop \ Alumni Revised \ AlumiTrackingSystem \ AlumiTrackingSystem \ AlumiTrackingSystem \ AlumiTrackingSystem \ image \ Vince \ Tulips.jpg

需要改为:

~/image/Vince/Tulips.jpg

2 个答案:

答案 0 :(得分:0)

我希望这就是你要找的东西:

String RelativePath = AbsolutePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty);

如果您的应用程序的物理路径是:

,它应该有用
C:\Users\AlphaDog\Desktop\Alumni Revised\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\

答案 1 :(得分:0)

以下内容应该可以解决问题。比以前的答案多一点代码,但是你知道,有时我喜欢用艰难的方式做事。

    string path = @"C:\Users\AlphaDog\Desktop\Alumni Revised\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\AlumiTrackingSystem\image\Vince\Tulips.jpg";
    string[] splitPath = path.Split('\\');
    int start = 0;
    foreach (string s in splitPath) {
         if (s == "image")
             break;
         else
             start++;
    }
    string virtualPath = "~/";
    for (int i = start; start < splitPath.Length; start++) {
         virtualPath += (i > start ? "/" : "") + splitPath[start];
    }