Использование относительных путей не является хорошей практикой для кода на стороне сервера.
Вместо этого вы должны использовать IWebHostEnvironment и его свойство WebRootPath
Чтобы получить доступ к этому, вы можно сделать это внутри вашего контроллера следующим образом:
public class MyController : Controller
{
private IWebHostEnvironment _env;
public MyController(IWebHostEnvironment env)
{
_env = env;
}
public SomeMethod()
{
foreach(string filePath in Path.Combine(_env.WebRootPath))
{
string file = filePath;
}
}
}
Если вы не хотите вводить его таким образом или вам нужно получить доступ вне контроллера внутри Startup.cs
добавьте public static IWebHostEnvironment _env
и отредактируйте это:
public Startup(IConfiguration configuration, IWebHostEnvironment env)
{
Configuration = configuration;
_env = env;
}
и теперь вы можете получить к нему доступ из любого места с помощью Startup._env