我尝试创建目录时未经授权的访问异常

时间:2013-05-30 10:15:13

标签: c# asp.net asp.net-mvc file directory

当我这样做时,我有一个例外Unauthorized Access

if (fileurl != null && fileurl.ContentLength > 0)
                {
                 var fileName = Path.GetFileName(fileurl.FileName);
                // var path = AppDomain.CurrentDomain.BaseDirectory + fileName;
                 var path = Path.Combine(@"C:\Projets", fileName);
                 fileurl.SaveAs(path);
                 string path2 = Path.GetFileNameWithoutExtension(path);
                 Directory.CreateDirectory(path2);

我保存了一个压缩文件fileurl.SaveAs(path);,我想在同一路径中创建一个新目录。我验证路径path2,它没问题。但指令Directory.CreateDirectory(path2);失败,并显示Unauthorized Access的例外情况。

为什么会这样?我该如何解决?

4 个答案:

答案 0 :(得分:1)

这听起来像权限问题。确保您的用户具有读/写文件权限。

答案 1 :(得分:0)

您的意思是设置C:\ Projets或C:\ Projects的路径吗? 您可能会在不存在的路径上获得未经授权的访问

答案 2 :(得分:0)

您将此标记为ASP.NET,因此您无法作为控制台或Windows窗体应用程序执行此操作。

您的Web应用程序在服务器端运行,并且具有不同的用户帐户。

您需要为应用程序池运行用户授予权限,并且由于这是Web应用程序,您需要写入您的网站下的目录或应用程序池用户可访问的其他虚拟目录。

答案 3 :(得分:0)

您需要检查运行您的网络应用的应用池的身份。默认标识没有C:\ Projets等的权限。您需要明确授予用户或身份的用户组,并允许写入C:\ Projets。