Получение относительного виртуального пути с физического пути Как я могу получить относительный виртуальный путь с физического пути в asp.net? Обратный метод выглядит следующим образом: Server.MapPath("Virtual Path Here"); Но что такое обратное верхнему методу? Ответ 1 Возможно, этот вопрос - это то, что вы ищете. Там они предлагают: String RelativePath = AbsolutePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty); Ответ 2 public static string MapPathReverse(string fullServerPath) { return @"~\" + fullServerPath.Replace(HttpContext.Current.Request.PhysicalApplicationPath,String.Empty); } Ответ 3 Вы также можете сделать что-то вроде этого: string relativePath = absolutePath.Replace(HttpContext.Current.Server.MapPath("~/"), "~/").Replace(@"\", "/"); Преимущество состоит в том, что вам не нужно HttpContext.Current.Request. Ответ 4 Request.ServerVariables["APPL_PHYSICAL_PATH"] отлично, но не всегда. Он доступен только в том случае, если есть HTTP-запрос. С другой стороны, вызов HostingEnvironment.ApplicationPhysicalPath всегда.
Ответ 1 Возможно, этот вопрос - это то, что вы ищете. Там они предлагают: String RelativePath = AbsolutePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty);
Ответ 2 public static string MapPathReverse(string fullServerPath) { return @"~\" + fullServerPath.Replace(HttpContext.Current.Request.PhysicalApplicationPath,String.Empty); }
Ответ 3 Вы также можете сделать что-то вроде этого: string relativePath = absolutePath.Replace(HttpContext.Current.Server.MapPath("~/"), "~/").Replace(@"\", "/"); Преимущество состоит в том, что вам не нужно HttpContext.Current.Request.
Ответ 4 Request.ServerVariables["APPL_PHYSICAL_PATH"] отлично, но не всегда. Он доступен только в том случае, если есть HTTP-запрос. С другой стороны, вызов HostingEnvironment.ApplicationPhysicalPath всегда.