将文件路径转换为绝对网址的最简单方法是什么。例如:
C:\myapp\src\SqlExpress\wwwroot\data\images\test.jpg
URL:
http://localhost/data/images/test.jpg
答案 0 :(得分:5)
这就是我所做的。我从来没有找到一种方法来轻松找到控制器外的wwwroot路径。所以我在Startup类中使用了一个静态变量,它可以在整个应用程序中访问。
public class Startup
{
public static string wwwRootFolder = string.Empty;
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Startup.wwwRootFolder = env.WebRootPath;
// ...
}
}
然后在我想要的任何地方..
public static string GetUrlFromAbsolutePath(string absolutePath)
{
return absolutePath.Replace(Startup.wwwRootFolder, "").Replace(@"\", "/");
}
答案 1 :(得分:1)
static string Convert(string path)
{
return path.Replace(@"C:\myapp\src\SqlExpress\wwwroot", @"http://localhost").Replace('\\', '/');
}
static void Main(string[] args)
{
string url = Convert(@"C:\myapp\src\SqlExpress\wwwroot\data\images\test.jpg");
}