在 ASP.NET Core 中提供 wwwroot 文件夹外的静态文件
您可以配置中间件来提供来自其他文件夹的静态文件以及默认的 web 根文件夹 wwwroot。
例如,我们要访问 admin 文件夹中的 admin.html,并从 wwwroot 文件夹中的 test.html。
现在,在 Startup
类的 configure()
方法中配置 StaticFiles 中间件,如下所示。
public class Startup
{
// 此方法由运行时调用。使用此方法配置 HTTP 请求管道。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions() {
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "Content")),
RequestPath = new PathString("/Admin")
});
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
}
如您所见,app.UseStaticFiles()
启用默认 web 根文件夹 wwwroot 来提供静态文件。
app.UseStaticFiles(new StaticFileOptions() {
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "admin")),
RequestPath = new PathString("/admin")
});
现在我们就可以访问静态文件了。