2017-06-13 51 views
0

我是ASP.NET Core的新手,所以我正在製作一個API,我試圖上傳一張圖片通過我的Web API將圖片保存到Web服務器上我在Windows Server 2016標準版VPS機器上運行API我在機器上安裝了IIS 10我收到的錯誤(當進行遠程調試時) :ASP.NET Core System.UnauthorizedAccessException:訪問路徑'C: ...'被拒絕

{System.UnauthorizedAccessException:對路徑 'C:\家庭網絡\房屋\ 13' 被拒絕 在System.IO.Win32FileStream..ctor(字符串路徑,的FileMode模式,FileAccess的訪問,文件共享。共享,Int32 bufferSize,FileOptions選項,FileStream父級) 在系統。 IO.Win32FileSystem.Open(字符串fullPath,FileMode模式,FileAccess訪問,FileShare共享,Int32 bufferSize,FileOptions選項,FileStream父項) at System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,FileShare share,Int32緩衝區大小,FileOptions選項) at System.IO.FileStream..ctor(String path,FileMode mode) at HomeNetAPI.Controllers.HouseController.d__6.MoveNext()in C:\ Users \ okuhl \ Documents \ HomeNet \ Web API \ HomeNetAPI \ src \ HomeNetAPI \ Controllers \ HouseController.cs:line 83}

這很奇怪,因爲目錄是創建的,如果它們不存在。下面是一些代碼,其中失敗的情況:

if (resultHouse != null) 
{ 
    if (!Directory.Exists($"C:/HomeNET/Houses/{resultHouse.HouseID}")) 
    { 
     Directory.CreateDirectory($"C:/HomeNET/Houses/{resultHouse.HouseID}"); 
    } 

    String fileName = new FileInfo(imageFile.FileName).Name; 
    String fileExtension = new FileInfo(imageFile.FileName).Extension; 
    using (var fileStream = new FileStream($"C:/HomeNET/Houses/{resultHouse.HouseID}", 
     FileMode.Create)) //Bombs out after this line 
    { 
     var result = imageFile.CopyToAsync(fileStream); 
     if (result.IsCompleted) 
     { 
      newHouse.HouseImage = Path.Combine($"C:/HomeNET/Houses/{resultHouse.HouseID}", $".{fileExtension}"); 
      var updateResult = await Task.Run(() => 
      { 
       return houseRepository.UpdateHouse(newHouse); 
      }); 
      if (updateResult != null) 
      { 
       response.DidError = false; 
       response.Message = $"House {newHouse.Name} has been created successfully! Invite friends ad family to your house!"; 
       response.Model = newHouse; 
       return Ok(response); 
      } 
      else 
      { 
       response.DidError = true; 
       response.Message = "Something went wrong with creating the house. Please try again"; 
       response.Model = newHouse; 
       return BadRequest(response); 
      } 
     } 
     else 
     { 
      response.DidError = true; 
      response.Message = $"Something Went wrong with creating your house. House image could not be saved onto the system. \n {result.Exception.Message}"; 
      response.Model = newHouse; 
      return BadRequest(response); 
     } 
    } 
} 

我試圖做的文件夾提供給大家,並沒有奏效。我也嘗試給我的AppPool權限修改該文件夾,並沒有工作。

任何提示將是偉大的。

回答

相關問題