【问题标题】:How to create multiple directories from a single full path?如何从单个完整路径创建多个目录?
【发布时间】:2015-07-24 01:53:18
【问题描述】:

很抱歉再次问这个问题, I have already seen this.

我正在使用以下代码从单个完整路径创建多个目录,但它没有做任何事情。我的编译器输入条件并运行命令,但不创建目录。不知道怎么回事。

if (!Directory.Exists(@"~/Documents/2/images/"))
{
    Directory.CreateDirectory(@"~/Documents/2/images/");
}

【问题讨论】:

  • 这可能是在创建一个名为~ 的目录作为当前目录的子目录。这不是你期望它做的吗?
  • 哦,不抱歉,我正在构建 asp.net Web 应用程序,~ 是我的解决方案的根目录
  • 你可能认为~是“你的解决方案的根目录”,但是Directory.CreateDirectory()函数没有这样的看法。
  • 但我给了我在 c:\ drive 中的实际路径

标签: c# asp.net


【解决方案1】:

这里的问题似乎是对波浪号“~”符号的误解,在 ASP.NET 应用程序中波浪号经常用于指定应用程序根目录但它并不适用于任何地方,事实上,“~”符号只适用于 URL,所以 @"~/Documents/2/images/" 不是路径,它是一个 URL 代表类似 http://myserver.com/MyApplicationRoot/Documents/2/images/ 的东西

要在此上下文中使用“~”,您必须将 URL 映射到物理路径,您可以使用 Server.MapPath(@"~/Documents/2/images/") 执行此操作,这将返回类似 "c:\inetpub\wwwroot\myApp\Documents\2\images\" 的内容,这就是您应该传递给 @987654325 的内容@

传递给物理路径的“~”将按字面意思解释,并将引用名为“~”的文件夹

【讨论】:

    猜你喜欢
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2010-11-25
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多