ASP.NET Core使用静态文件、目录游览与MIME类型管理

ASP.NET Core使用静态文件、目录游览与MIME类型管理

Startup管道配置中,可以看到,注入相关静态资源的代码

 //自定义自己的文件路径,例如提供访问根目录下的文件,http://localhost:5000/preview/README.md
            //将访问服务端的根目录中的README.md文件
            //var provider = new FileExtensionContentTypeProvider();
            //provider.Mappings.Remove(".png");

            //app.UseStaticFiles(new StaticFileOptions()
            //{
            //    //Path.Combine(_webHostEnvironment.ContentRootPath, SiteSetting.DataFileDirectory,
            //    //dataFile.DataFileType.ToString(), dataFile.CreateTime.Value.ToString("yyyyMM"), $"{dataFile.Id}{dataFile.FileExtenison}");
            //    FileProvider = new PhysicalFileProvider(env.ContentRootPath),//指定实际物理路径
            //    RequestPath = new PathString("/preview"),//对外的访问路径
            //    //OnPrepareResponse = ctx =>
            //    //{
            //    //    //设置http响应缓存为600秒
            //    //    //max - age:表示当访问此网页后的max - age秒内再次访问不会去服务器请求,其功能与Expires类似,只是Expires是根据某个特定日期值做比较。一但缓存者自身的时间不准确.则结果可能就是错误的,而max - age,显然无此问题.。Max - age的优先级也是高于Expires的
            //    //    ctx.Context.Response.Headers.Append("Cache-Control", "public,max-age=600");
            //    //},
            //    //ContentTypeProvider = provider //滤掉一些敏感类型,比如.png,.exe等
            //});

            //浏览目录的文件与文件夹
            //app.UseDirectoryBrowser(new DirectoryBrowserOptions()//提供文件目录访问形式
            //{
            //    FileProvider = new PhysicalFileProvider(env.ContentRootPath),
            //    RequestPath = new PathString("/preview")
            //});

            //直接开启文件目录访问和文件访问
            app.UseFileServer(new FileServerOptions()
            {
                EnableDirectoryBrowsing = true,//开启目录访问
                FileProvider = new PhysicalFileProvider(env.ContentRootPath),
                RequestPath = new PathString("/preview")
            });

 

posted @ 2020-09-21 15:31  龙骑科技  阅读(210)  评论(0编辑  收藏  举报