【问题标题】:Error when create a folder by code通过代码创建文件夹时出错
【发布时间】:2013-10-18 23:15:00
【问题描述】:

我有一个会员注册 aspx 页面。

ACCOUNT(user,pass,mail,privilege)

当用户注册成功时,如果privilege == "lecturer" --> 会创建一个文件夹folder's name= user

看看我下面的代码:

 if(privilege=="lecturer")
        {
            string path = this.Server.MapPath("~/Lecturer/"); // path="D:\\C#Projects\\website\\Lecturer\\"
            string targetPath = path + @"\";           
            System.IO.Directory.CreateDirectory(Server.MapPath(targetPath+newuser));

        }

有错误:'D:/C#Projects/website/Lecturer/david' is a physical path, but a virtual path was expected.Why???

我真的很想在 Lecturer 文件夹中创建一个 david 文件夹。救命???

【问题讨论】:

标签: c# asp.net


【解决方案1】:

您不需要再次使用Server.MapPath,因为您已经将虚拟路径转换为物理路径。

改变

 System.IO.Directory.CreateDirectory(Server.MapPath(targetPath+newuser));

 System.IO.Directory.CreateDirectory(targetPath+newuser); 

【讨论】:

    【解决方案2】:

    如果你已经有了物理路径D:\\C#Projects\\website\\Lecturer\\,那么调用Server.MapPath是没有意义的

    你可以试试这个:-

    var files = Directory.GetFiles(@"D:\C#Projects\website\Lecturer");
    

    或者干脆试试这个:-

    System.IO.Directory.CreateDirectory(targetPath+newuser); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-20
      • 2013-08-01
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多