为什么我需要检查Web服务器上是否存在文件夹我需要在路径字符串中使用反斜杠:
if (Directory.Exists(@"~\assets\images\gallery\thumbnails"))
加载图片时我需要使用斜杠吗?
new WebImage("~/assets/images/gallery/thumbnail/name.jpg")
这背后有什么规则?
感谢。
答案 0 :(得分:1)
我相信WebImage指的是虚拟路径,如URL中所使用并由浏览器引用(例如)。 目录是指服务器上的实际物理目录。 Windows对物理目录使用反斜杠。 URL约定使用斜杠表示虚拟路径。
答案 1 :(得分:1)
Directory.Exists
是对文件系统的检查,在Windows上跟Windows path specification(链接不完全是"规范,"但是会为此目的){ {1}}作为目录分隔符。但是,在* nix系统上,它将\
作为目录分隔符。因此,应该使用Path.DirectorySeparatorChar
来保证正确性和互操作性。
/
采用网址引用(尽管WebImage
),然后RFC 1738将~
定义为细分分隔符。
这两者虽然看起来很相似,却是不同的(大多数)不相关的概念。
答案 2 :(得分:0)
对于URL,您使用正斜杠。在Windows中的文件路径中,您使用反斜杠。第一条路径是硬盘驱动器上的某个位置。第二条路径是URL。