zoukankan      html  css  js  c++  java
  • web中绝对路径换虚拟路径

    最近在做一个web项目,将图片上传到服务器后,再访问时拿到的是绝对路劲,而需要的是虚拟路劲。经过一番折腾找到了下列方法可以直接转换。

     /// <summary>
            /// 将Web站点下的绝对路径转换为虚拟路径
            /// 注:非Web站点下的则不转换
            /// </summary>
            /// <param name="page">当前页面指针,一般为this</param>
            /// <param name="specifiedPath">绝对路径</param>
            /// <returns>虚拟路径, 型如: ~/</returns>
            public static string ConvertSpecifiedPathToRelativePath(Page page, string specifiedPath)

            {
                string virtualPath = page.Request.ApplicationPath;

                string pathRooted = HostingEnvironment.MapPath(virtualPath);

                if (!Path.IsPathRooted(specifiedPath) || specifiedPath.IndexOf(pathRooted) == -1)
                {
                    return specifiedPath;
                }

                if (pathRooted.Substring(pathRooted.Length - 1, 1) == "\")
                {
                    specifiedPath = specifiedPath.Replace(pathRooted, "~/");
                }
                else
                {
                    specifiedPath = specifiedPath.Replace(pathRooted, "~");
                }
                string relativePath = specifiedPath.Replace("\", "/").Substring(1, specifiedPath.Length - 1);
                return relativePath;
            }

    备注:  string relativePath = specifiedPath.Replace("\", "/").Substring(1, specifiedPath.Length - 1); 里面的 Substring(1, specifiedPath.Length - 1)是我自己加的。根据自己需求。原来是string relativePath = specifiedPath.Replace("\", "/");

  • 相关阅读:
    使用批处理发布 QT 的程序
    转载:单一小农经济结构是我国长期动乱贫穷的病根
    JavaScript 盖尔-沙普利算法
    c# 自定义控件之 ComboBox
    c# PID算法入门
    c# 盖尔-沙普利算法的改进
    c# 陈景润 15 子问题
    c# 排序算法可视化
    c# 线程,同步,锁
    c# 小票打印
  • 原文地址:https://www.cnblogs.com/bin521/p/7133296.html
Copyright © 2011-2022 走看看