今天遇到一个奇怪的问题,最后解决了感觉出现这样的问题很无脑。
页面代码中存在这样的一个img标签:<img src="C:/abc.jpg">
如果你本地电脑是使用XP操作系统且路径"C:/"下有abc.jpg图片的话,这样的写法在本地电脑浏览器中显示是不会有问题的,这里src的赋值使用了绝对路径;但是如果是在windows server 系统中的浏览器呈现这个img的话,在使用此操作系统的电脑中不管是否存在abc.jpg图片,显示都是会出现问题,或许是浏览器的安全性问题,也或是不同操作系统对路径权限的设置不同有关。还有如果使用绝对路径的话会导致如果这个页面移植到别的服务器电脑上运行,并且这台电脑中在指定路径中没有abc.jpg图片,那么就别想着页面上会显示什么图片了,所以在web应用程序中img标签的src赋值最好是要使用相对路径“../image/abc.jpg”,这样浏览器就会从应用程序所部署的虚拟目录中按照对应的路径查找这个图片。
还有asp.net中Server.MapPath(相对路径)方法是返回一个相对路径的绝对路径,那么如果你是使用这个方法把一个路径地址进行转换后再赋值给img的src的话,显然是会出现问题的。