我是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权限修改该文件夹,并没有工作。
任何提示将是伟大的。