您好我正在尝试使用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
这不起作用,因为在某些时候我会想要将应用程序上传到服务器。
那么如何设置文件路径以获取项目的根目录并使此代码生效?
答案 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));