图片生成后,放在站点中指定的文件夹下,出现了路径问题。采用虚拟目录的时候,站点会“多一层”路径这时没有问题,图片会正常保存。但是使用独立站点时,则会出现问题,图片保存路径不正确。全部代码如下:        
 #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

解决方案 »

  1.   

    图片连接的是url地址
    不是物理地址
    物理地址是在客户端,当然没有了string strPathTempt = Server.MapPath("ZedGraphImages");这个句话是找到url的物理地址
    修改
    string strPathTempt = ZedGraphImages;
      

  2.   


    “string strPathTempt = ZedGraphImages;”???这个语法上就不对啊???
      

  3.   


    这样就好了string strPathTempt = Server.MapPath("ZedGraphImages");
      将这句代码 替换为
     string strPathTempt = Server.MapPath("~/ZedGraphImages");
    为什么加个“~”,就好了,不加线就是相对路径么???