web应用程序路径中的不同斜杠
本文关键字:应用程序 路径 web | 更新日期: 2023-09-27 18:05:29
为什么如果我需要检查web服务器上是否存在文件夹,我需要在路径字符串中使用反斜杠:
if (Directory.Exists(@"~'assets'images'gallery'thumbnails"))
而加载图像,我需要使用斜杠?
new WebImage("~/assets/images/gallery/thumbnail/name.jpg")
这背后有什么规则?
谢谢。
Directory.Exists
是对文件系统的检查,它在Windows上遵循Windows路径规范(链接不完全是"规范",但可以达到目的),其中'
作为目录分隔符。然而,在*nix系统上,它将使用/
作为目录分隔符。因此,为了正确性和互操作性,应该使用Path.DirectorySeparatorChar
。
WebImage
接受URL引用(尽管~
),并遵循RFC 1738,将/
定义为段分隔符。
url使用正斜杠。在Windows的文件路径中使用反斜杠。第一个路径是指向硬盘驱动器上的一个位置。第二个路径是URL。
我相信WebImage指的是一个虚拟路径,就像在url中使用的那样,被浏览器引用(例如)。"目录"为服务器上的实际物理目录。Windows使用反斜杠表示物理目录。URL约定使用斜杠表示虚拟路径