我用Server.MapPath("虚拟目录")获取到虚拟目录的物理路径后,再找开虚拟目录中的网页,网页上的图片都打不开了,网页上的图片是用相对路径引用的,查看网页上的图片属性发现路径不对正确的应该是
http://IP/虚拟目录/image/aaa.gif但现在是
http://IP/image/aaa.gif
http://IP/虚拟目录/image/aaa.gif但现在是
http://IP/image/aaa.gif
解决方案 »
- 在线等,被一个小错误困扰很久了!
- 批量插入数据
- 新手问一个很弱的问题
- 关于datagridview排序的问题
- 请问如何解析文本框的值
- sql为gridview分页不要用存储过程!如何得到gridview的当前页码!
- 我是新手,谁能详细的告诉我此段代码的执行顺序,非常感谢!
- 有一个picture控件,已经加载了图片!现在在picture画一根垂直直线,从左向右移动 !要求直线移动的时候不遮挡后面的图形!
- 100分求解关于水晶报表的问题!怎么自定义工具条的按钮阿?
- 把c#读出SQL中记录作为参数的问题
- System.Array.CopyTo() 和 System.Array.Clone()区别
- 请教几个困惑很久的web.config问题!谢谢!
欢迎大家进行.NET技术交流
//路径
custCMD = new SqlCommand("SELECT url FROM pic_xm WHERE id="+ strId, Conne);
myReader = custCMD.ExecuteReader();
string strUrl="";
if(myReader.Read())
{
if(myReader.IsDBNull(0)==false)
strUrl=myReader.GetString(0);
else
strUrl="";
}
else
strUrl="";
myReader.Close();Conne.Close();int intIndex = strUrl.IndexOf("\\");
string strXnml;
if(intIndex > 0)
{
strXnml = strUrl.Substring(0,intIndex);
}
else
{
strXnml = "";
}
string strDir = Server.MapPath(strXnml);
string a = Server.MapPath(".");
if(System.IO.File.Exists(strDir + "\\" + strUrl.Substring(intIndex + 1,strUrl.Length - intIndex - 1)))
{
Response.Redirect(Server.UrlEncode(strUrl));
}
else
{
Response.Redirect("error.aspx?Mess=nofile");
}
1:数据库获取的数据为空
2:int intIndex = strUrl.IndexOf("\\");中intIndex < 0,建议采用断点调试,或者Response.Write(intIndex),看看该值为何
string a = Server.MapPath(".");
————————————————
Server.mapPath不适用于“.”或“..”的相对路径语法,只能用于同级目录,所以可能出错。
可以打开strUrl指向的网页,但网页上的图片打不开还有
去掉 string a = Server.MapPath(".");这句代码也是一样的。各位再帮帮忙
Server.MapPath("~");
怎么用。
是Response.Redirect(Server.UrlEncode(strUrl));有问题
改为Response.Redirect(strUrl);就好了。为什么对url编码后相对目录就不对了