文件夹未创建

时间:2012-12-02 01:19:00

标签: c# asp.net

您好我正在尝试使用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

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

那么如何设置文件路径以获取项目的根目录并使此代码生效?

2 个答案:

答案 0 :(得分:1)

试试这个

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

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

答案 1 :(得分:0)

你应该

Directory.CreateDirectory(Server.MapPath(newPath));