2017-07-06 16 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

    アプリケーションプールIDが実際にマシン上のIIS_IUSERSグループにあるので、使用しているものは何でも確認できますか? –

    答えて

    1

    私は、ファイルではなくフォルダを保存しようとしていましたが、fileNameとパスを結合するのを忘れていました。

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

    私のために全体を解く:

    は以下に保存部分を変更しました。

    関連する問題