图片生成后,放在站点中指定的文件夹下,出现了路径问题。采用虚拟目录的时候,站点会“多一层”路径,这时没有问题,图片会正常保存。但是使用独立站点时,则会出现问题,图片保存路径不正确。全部代码如下:
#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
#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
不是物理地址
物理地址是在客户端,当然没有了string strPathTempt = Server.MapPath("ZedGraphImages");这个句话是找到url的物理地址
修改
string strPathTempt = ZedGraphImages;
“string strPathTempt = ZedGraphImages;”???这个语法上就不对啊???
这样就好了string strPathTempt = Server.MapPath("ZedGraphImages");
将这句代码 替换为
string strPathTempt = Server.MapPath("~/ZedGraphImages");
为什么加个“~”,就好了,不加线就是相对路径么???