我在wwwroot/img文件夾中有圖像,並且想在我的服務器端代碼中使用它。從wwwroot中獲取圖像/ ASP.Net中的圖像Core
如何在代碼中獲取此圖像的路徑?
的代碼是這樣的:
Graphics graphics = Graphics.FromImage(path)
我在wwwroot/img文件夾中有圖像,並且想在我的服務器端代碼中使用它。從wwwroot中獲取圖像/ ASP.Net中的圖像Core
如何在代碼中獲取此圖像的路徑?
的代碼是這樣的:
Graphics graphics = Graphics.FromImage(path)
string path = $"{Directory.GetCurrentDirectory()}{@"\wwwroot\images"}";
這將是清潔器來注入的IHostingEnvironment
,然後或者使用其WebRootPath
或WebRootFileProvider
性質。
例如,在控制器:
private readonly IHostingEnvironment env;
public HomeController(IHostingEnvironment env)
{
this.env = env;
}
public IActionResult About(Guid foo)
{
var path = env.WebRootFileProvider.GetFileInfo("images/foo.png")?.PhysicalPath
}
在您通常需要使用Url.Content("images/foo.png")
來獲取網址爲特定文件的視圖。不過,如果你需要訪問的物理路徑由於某種原因,那麼你可以遵循相同的方法:
@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment env
@{
var path = env.WebRootFileProvider.GetFileInfo("images/foo.png")?.PhysicalPath
}
如果從不同的文件夾爲你的靜態文件這將無法正常工作。更糟糕的是,當部署到像IIS這樣的服務器時,Directory.GetCurrentDirectory可能[不會返回您期望的內容](http://stackoverflow.com/questions/10951599/getting-current-directory-in-net-web-application) 。 –