Как правильно сохранять файл?
Исходный код
public string UploadFile(IFormFile model)
{
if (model.Length > 0)
{
try
{
if (!Directory.Exists(environment.WebRootPath + "\\Images\\"))
{
Directory.CreateDirectory(environment.WebRootPath + "\\Images\\");
}
using (FileStream fileStream = System.IO.File.Create(environment.WebRootPath + "\\Images\\" + model.FileName))
{
model.CopyTo(fileStream);
fileStream.Flush();
return httpContext.HttpContext.Request.Host.Value.ToString() + "\\Images\\" + model.FileName;
}
}
catch (Exception ex)
{
return ex.ToString();
}
}
else
{
throw new Exception("Upload Files");
}
}
Когда я работал локально, все работало, и все файлы сохранялись в:
"localhost:7777\\Images\\Adidas-hoodie.png"
и я мог его читать
Но После сборки проекта и загрузки в виртуалку в ubuntu, он некорректно сохраняет:
"System.UnauthorizedAccessException: Access to the path '/var/www/publish/wwwroot\\Images\\' is denied.\n ---> System.IO.IOException: Permission denied\n --- End of inner exception stack trace ---\n at System.IO.FileSystem.CreateDirectory(String fullPath, UnixFileMode unixCreateMode)\n at System.IO.Directory.CreateDirectory(String path)\n at TritonBack.Service.PluginService.UploadFile(IFormFile model)",
Как с этим справиться корректно?