{System.UnauthorizedAccessException: 访问路径"C:\HomeNET\Houses\13"被拒绝。 at System.IO.Win32FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, FileStream parent) at System.IO.Win32FileSystem.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, FileStream parent) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) 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 有权修改该文件夹,但这也没有起作用。