#region License // (c) Intergen. // This source is subject to the Microsoft Public License (Ms-PL). // Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details. // All other rights reserved. #endregion using System; using System.Text; using System.IO; using System.Web; using System.Web.Hosting; namespace Utilities.IO { public class FileUtils { public static string MapPath(string path) { if (Path.IsPathRooted(path)) { return path; } else if (HostingEnvironment.IsHosted) { return HostingEnvironment.MapPath(path); } else if (VirtualPathUtility.IsAppRelative(path)) { string physicalPath = VirtualPathUtility.ToAbsolute(path, "/"); physicalPath = physicalPath.Replace('/', ''); physicalPath = physicalPath.Substring(1); physicalPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, physicalPath); return physicalPath; } else { throw new Exception("Could not resolve non-rooted path."); } } } }