我是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權限修改該文件夾,並沒有工作。
任何提示將是偉大的。