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

本文关键字:路径 转换 虚拟 | 更新日期: 2023-09-27 18:19:57

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

来自数据库:

C: ''Users''AlphaDog''Desktop''Alumni Revisited''AlumiTrackingSystem''AlumiTrackingSystem''alumiTracking System''image''Vince''Tulips.jpg

需要更改为:

~/image/Vince/Tulips.jpg

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

下面这样的东西应该能起到作用。比前面的答案多一点代码,但你知道,有时我喜欢用艰难的方式做事。

    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];
    }

我希望这就是您想要的:

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

如果你的应用程序的物理路径是:,它应该可以工作

C:'Users'AlphaDog'Desktop'Alumni Revised'AlumiTrackingSystem'AlumiTrackingSystem'AlumiTrackingSystem'AlumiTrackingSystem'