2017-07-06 92 views
0

我想保存文件到磁盘,但我得到UnauthorizedAccessException。 错误说我必须在该文件夹上获得正确的权限,并且我尝试了每个可以找到的用户,但它不起作用。UnauthorizedAccessException当保存文件,但可以创建一个目录

尝试下面的用户

  • 网络
  • 网络服务
  • IUSR
  • IUSR_ [计算机]

,没有它的工作给予了充分的权利。

我觉得很奇怪的是,在我尝试保存文件之前创建了一个目录,并且完美地工作,这是在尝试将文件保存到该新目录时出现UnautorhizedAccessException。

的代码如下:

[HttpPost] 
    public ActionResult Images(HttpPostedFileBase file, string boatId) 
    { 
     if (file.ContentLength > 0) 
     { 
      var fileName = Path.GetFileName(file.FileName); 
      var path = Path.Combine(Server.MapPath("~/Content/Images/" + boatId)); 
      Directory.CreateDirectory(path); 
      file.SaveAs(path); 

     } 
     return View($"Filen på {boatId} har laddats upp"); 
    } 

在我失去了我的任何想法?

+0

您可以尝试向IIS_IUSRS用户添加权限!通过添加IUSR和IIS_IUSRS来解决这个问题。 –

+0

@TeamKitsune嗨,仍然无法与那些添加的用户和他们的完整权限。如果改变了任何内容,我正在使用IIS Express。 –

+0

您可以验证您作为应用程序池标识使用的任何内容实际上是否位于计算机上的IIS_IUSERS组中? –

回答

1

原来我试图做的是保存文件夹而不是文件,我忘了将fileName与路径结合起来。

更改保存部分如下:

file.SaveAs(Path.Combine(path, fileName)); 

这解决了整个事情对我来说。

相关问题