1.在Configure 方法中添加注册静态文件
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "Logs")),
RequestPath = "/Logs",
ContentTypeProvider = provider
});
2.在Configure 方法中启用目录浏览
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = new PhysicalFileProvider( Path.Combine(Directory.GetCurrentDirectory(), "Logs")),
RequestPath = "/Logs"
});
3.添加mime类型(Configure ),中文一定要配编码类型(utf-8)
// Set up custom content types - associating file extension to MIME type
var provider = new FileExtensionContentTypeProvider();
// Add new mappings
provider.Mappings[".log"] = "text/plain;charset=utf-8";
4.调用 ConfigureServices 中的 AddDirectoryBrowser方法来添加所需服务:
/// <summary>
/// This method gets called by the runtime. Use this method to add services to the container.
/// </summary>
/// <param name="services"></param>
public void ConfigureServices(IServiceCollection services)
{
// 过滤器执行顺序 身份-动作-异常
services.AddMvc(options =>
{
// options.Filters.Add<AuthorizationFilters>(); // 添加身份验证过滤器
options.Filters.Add<ActionFilter>(); // 添加出动作过滤器
options.Filters.Add<ExceptionFilter>(); // 添加出异常过滤器
});
// 为在.net core 环境下获取request.current
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
StaticHttpContextExtensions.AddHttpContextAccessor(services);
services.AddDirectoryBrowser();
}
5.启动测试
6. 详细参考官方文档,有简洁开启方法,不过会开启默认wwwroot文件夹的文件目录浏览,我不想开启该文件夹,所以这里并未引用