C# 取得网站根目录(Web使用)

C# 2214次浏览 本站
//--------------------------------------------------------------------------------
// 文件描述:路径辅助类
// 文件作者:全体开发人员
// 创建日期:2016-06-27
//--------------------------------------------------------------------------------

using System;
using System.IO;
using System.Web;

namespace RC.Framework
{
    public class PathHelper
    {
        /// <summary>
        /// 网站根目录
        /// </summary>
        public static string BasePath
        {
            get
            {
                if (HttpContext.Current != null)
                    return VirtualPathUtility.AppendTrailingSlash(HttpContext.Current.Request.ApplicationPath);
                return HttpRuntime.AppDomainAppVirtualPath.EndsWith("/")
                    ? HttpRuntime.AppDomainAppVirtualPath
                    : HttpRuntime.AppDomainAppVirtualPath + "/";
            }
        }

        /// <summary>
        /// 获得当前绝对路径
        /// </summary>
        /// <param name="strPath">指定的路径</param>
        /// <returns>绝对路径</returns>
        public static string GetMapPath(string strPath)
        {
            if (strPath.ToLower().StartsWith("http://")) return strPath;
            if (HttpContext.Current != null) return HttpContext.Current.Server.MapPath(strPath);
            strPath = strPath.Replace("/", "\\");
            if (strPath.StartsWith("\\"))
                strPath = strPath.TrimStart('\\');
            else if (strPath.StartsWith("~")) strPath = strPath.Substring(1).TrimStart('\\');
            return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
        }
    }
}
            

发表评论

电子邮件地址不会被公开。 必填项已用*标注