上传图像访问路径被拒绝

Nis*_*dru 0 c# asp.net

嗨我似乎在asp.net上传图像时遇到问题.当我尝试上传图片时出现此错误:

访问路径'D:\ Projects IDE\Visual Studio\MyWork\Websites\Forum\Images\avatar\userAvatars\aleczandru'被拒绝.

我已经设置的应用程序池Identoty到NETWORKSERVICE安藤还增加了网络服务帐户添加到图像全permision文件夹,但我仍然得到同样的错误.

这是我的代码:

private void addImageToApp()
{
    string path = "~/Images/avatar/userAvatars/" + User.Identity.Name;

    createPath(path);
    if( Directory.Exists(HostingEnvironment.MapPath(path)))
    {
        //try {
              UploadImage.SaveAs(HostingEnvironment.MapPath(path));
          //    MultiViewIndex.ActiveViewIndex = 0;
        //}catch(Exception ex)
        //{
          //     AvatarDetails.Text = ex.Message;
        //}  
    }
}

private void createPath(string path)
{  
    string activeDir = HostingEnvironment.MapPath("~/Images/avatar/userAvatars");
    if( !Directory.Exists(Server.MapPath(path)) )
    {
        string newPath = Path.Combine(activeDir, User.Identity.Name);
        Directory.CreateDirectory(newPath);
    }
}
Run Code Online (Sandbox Code Playgroud)

我还能做些什么来解决这个问题?

编辑

嗨,此时我对以下用户有完全的权限控制:

  • 认证用户
  • IUSR
  • 系统
  • 网络服务
  • IIS_WPG
  • 管理员
  • 用户

我需要将任何配置设置为IIS才能使其正常工作吗?

编辑

我最近几天搞乱了SQL-SERVER以便完成这项工作所以我可能错过了配置的东西我所理解的NETWORK SERVICE存储在SQL-SERVER master.db数据库中.我似乎有两个网络服务登录可能这是问题吗?我记得当我第一次检查它时,我现在没有,我有两个:

在此输入图像描述

编辑

这是我添加到文件夹中的permisions打印:

在此输入图像描述

编辑:完成错误

在此输入图像描述

堆栈跟踪:

在此输入图像描述

com*_*cme 5

在方法中,CreatePath您将创建文件夹'D:\ Projects IDE\Visual Studio\MyWork\Websites\Forum\Images\avatar\userAvatars\aleczandru'.

然后,您尝试使用文件名'D:\ Projects IDE\Visual Studio\MyWork\Websites\Forum\Images\avatar\userAvatars\aleczandru'保存上传的图像.

您不能拥有具有相同名称的文件夹和文件.如果您尝试这样做,操作系统将告诉您访问被拒绝.

如果在命令提示符下尝试此操作会发生什么

我想您要在文件夹中创建文件名aleczandru,或者您想将文件保存为文件aleczandru.png夹中的文件userAvatars.

假设您UploadImageFileUpload控件,则可以使用上载文件的原始文件名将文件保存到用户的文件夹中.

UploadImage.SaveAs(HostingEnvironment.MapPath(
    Path.Combine(path, UploadImage.FileName)));
Run Code Online (Sandbox Code Playgroud)