none
网站中的路径问题,图片生成 RRS feed

  • 问题

  • 图片生成后,放在站点中指定的文件夹下,出现了路径问题。采用虚拟目录的时候,站点会“多一层”路径,这时没有问题,图片会正常保存。但是使用独立站点时,则会出现问题,图片保存路径不正确。

    全部代码如下:

            

     #region 生成图片
            //保存图片
            string strPathTemp = ConfigurationManager.AppSettings["ServerPath"];

            string strPathTempt = Server.MapPath("ZedGraphImages");

           注一:断点可见,strPathTempt变量的值为“C:\\Users\\Administrator\\Desktop\\Tj(Preview)\\Mycems.UI\\Web\\ZedGraphImages”

                     但是,在“独立站点”里“Mycems.UI”这个文件夹是不存在的,这个是“虚拟目录".

            string strPath = strPathTempt.Substring(0, strPathTempt.IndexOf("Web"));

            注二:断点可见,strPath变量的值为“C:\\Users\\Administrator\\Desktop\\Tj(Preview)\\Mycems.UI\\”

                    一样的道理,在“独立站点”里“Mycems.UI”这个文件夹是不存在的,这个是“虚拟目录".也就是说,“独立站点”会比“虚拟目录”少一层,因为虚拟目录是在站点下的。

           zgc.SaveBitmap(strPath + "ZedGraphImages\\PowerMonitoring.png", 1000, 400);

                  问题:当为“独立站点”时,这一句报错,而为“虚拟目录”时却正常???为什么,这里的图片存储路径出现了什么问题???

            zgc.DisposeBitmap();

            //显示图片
            img_PowerMonitoring.ImageUrl = strPathTemp + "/ZedGraphImages/PowerMonitoring.png?" + Guid.NewGuid();
            img_PowerMonitoring.Visible = true;
            #endregion


    Science and technology is my lover.

    2012年5月15日 9:30

答案

  •  string strPathTempt = Server.MapPath("ZedGraphImages");
      将这句代码 替换为
     string strPathTempt = Server.MapPath("~/ZedGraphImages");

    采用根据该网站相对目录方式

    爱吃西瓜的小强[mcpd]

    2012年5月15日 13:10

全部回复

  •  string strPathTempt = Server.MapPath("ZedGraphImages");
      将这句代码 替换为
     string strPathTempt = Server.MapPath("~/ZedGraphImages");

    采用根据该网站相对目录方式

    爱吃西瓜的小强[mcpd]

    2012年5月15日 13:10
  •  string strPathTempt = Server.MapPath("ZedGraphImages");
      将这句代码 替换为
     string strPathTempt = Server.MapPath("~/ZedGraphImages");

    采用根据该网站相对目录方式

    爱吃西瓜的小强[mcpd]

    谢谢。但是,还是想请教下。

           加一个“~”,就变为相对目录了。如果是不加“~”,就是绝对目录是么???


    Science and technology is my lover.

    2012年5月17日 0:40
  •  string strPathTempt = Server.MapPath("ZedGraphImages");
      将这句代码 替换为
     string strPathTempt = Server.MapPath("~/ZedGraphImages");

    采用根据该网站相对目录方式

    爱吃西瓜的小强[mcpd]

    谢谢您,非常感谢。。。但想请教下为什么加一个“~”就好了“~”它的作用是什么呢???

    Science and technology is my lover.

    2012年5月21日 1:44
  • 加了”~“ asp.net会去找寻网站的根目录
    2012年5月21日 2:09
    版主