2017-07-06 99 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)); 

這解決了整個事情對我來說。

相關問題