在服务器上动态创建文件夹什么是正确的方法?

时间:2015-01-10 18:55:29

标签: c# asp.net server

我在myasp.com上创建了一个服务器,我想动态地为名为“UserData”的文件夹中的每个用户创建一个文件夹。在注册时,我现在通过FTP客户端创建目录,文件夹获取用户名。这种方法并不总是有效,所以我找到了传统的方法:

  

Directory.CreateDirectory(Server.MapPath(“〜”)+“hey”);

通过使用此方法我收到错误:拒绝访问路径'h:\ root \ home \ sagigamil-001 \ www \ site1 \ hey'。但是,我可以检查文件夹是否存在。

我该怎么办?有一种方法可以让服务器访问自己写信吗?什么是正确的方法?

2 个答案:

答案 0 :(得分:0)

您可能需要请求您的主机授予ASP .NET进程写入权限。出于安全原因,他们可能不愿意这样做。如果您无法获得此类权限,ASP .NET将无法创建该文件夹。

答案 1 :(得分:0)

您可以使用以下代码段在FTP上创建目录:

var request = WebRequest.Create(new Uri("ftp://host/directory"));
request.Method = WebRequestMethods.Ftp.MakeDirectory;

using (var response = (FtpWebResponse)request.GetResponse()) {
    Console.WriteLine("Response status code: {0}", response.StatusCode);
}

如果需要,请不要忘记设置您的凭据(将其分配给request.Credentials)。 如果您仍然遇到麻烦,请不要忘记发布您正在收到的错误。

相关问题