.net core 开启目录浏览

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方法来添加所需服务:

  /// 
        ///  This method gets called by the runtime. Use this method to add services to the container.
        /// 
        /// 
        public void ConfigureServices(IServiceCollection services)
        {
            // 过滤器执行顺序 身份-动作-异常
            services.AddMvc(options =>
            {
                // options.Filters.Add(); // 添加身份验证过滤器
                options.Filters.Add(); // 添加出动作过滤器
                options.Filters.Add(); // 添加出异常过滤器 
            });
            // 为在.net core 环境下获取request.current
            services.AddSingleton();

            StaticHttpContextExtensions.AddHttpContextAccessor(services);
            services.AddDirectoryBrowser();
        }

5.启动测试

.net core 开启目录浏览_第1张图片

6. 详细参考官方文档,有简洁开启方法,不过会开启默认wwwroot文件夹的文件目录浏览,我不想开启该文件夹,所以这里并未引用


你可能感兴趣的:(.net,core)