Reputation: 123
Similar question to the one found here: ASP.NET MVC - Find Absolute Path to the App_Data folder from Controller.
Is App_Data
folder gone? Server.MapPath
seems to be gone too.
I tried to achieve the same results with Url.Content
, but it doesn't seem to be working.
Upvotes: 7
Views: 3570
Reputation: 20033
We do have App_Data
in vNext.
This should still work
string path = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
As for Server.MapPath
equivalents you can use AppDomain.CurrentDomain.BaseDirectory
and build your path from there.
You can also use the IApplicationEnvironment
service
private readonly IApplicationEnvironment _appEnvironment;
public HomeController(IApplicationEnvironment appEnvironment)
{
_appEnvironment = appEnvironment;
}
public IActionResult Index()
{
var rootPath = _appEnvironment.ApplicationBasePath;
return View();
}
IHostingEnvironment
is the moral equivalent of the IApplicationEnvironment
for web applications. For PhysicalFileSystem, IHostingEnvironment
falls back to IApplicationEnvironment
.
private readonly IHostingEnvironment _hostingEnvironment;
public HomeController(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
public IActionResult Index()
{
var rootPath = _hostingEnvironment.MapPath("APP_DATA");
return View();
}
Upvotes: 8
Reputation: 2125
MapPath exists in IHostingEnvironment
private readonly IHostingEnvironment _env;
public HomeController(IHostingEnvironment env)
{
_env = env;
}
public IActionResult Index()
{
var dataFolderPath = _env.MapPath("APP_DATA");
return View();
}
Upvotes: 4