0

您好我正在尝试使用 C#/asp.net webforms 创建一个新目录,但我似乎没有任何运气。这是我的代码:

    string path = "~/Images/avatar/" + User.Identity.Name + "/userAvatars/";
     private void createPath(string path)
     {
           string activeDir = @"~/Images/avatar/userAvatars";
           if( !Directory.Exists(Server.MapPath(path)) )
           {
               string newPath = Path.Combine(activeDir, User.Identity.Name);
               Directory.CreateDirectory(newPath);
            }
      }
     createPath(path)

现在这段代码不会抛出任何错误,但它也不会创建文件夹,除非我提供从驱动器号开始的物理目录。示例:

D:\Projects IDE\Visual Studio\MyWork\Websites\Forum

这行不通,因为在某些时候我想将应用程序上传到服务器。

那么如何设置文件路径以获取根,如果项目并使此代码工作?

4

2 回答 2

1

试试这个

string newPath = HostingEnvironment.MapPath(Path.Combine(activeDir, User.Identity.Name)
Directory.CreateDirectory(newPath);

使用 Path.Combine 后,您忘记映射 newPath。

于 2012-12-02T01:22:34.923 回答
0

你应该做

Directory.CreateDirectory(Server.MapPath(newPath));
于 2012-12-02T01:27:10.153 回答