欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-24 19:08:22
ASP.NET Core使用静态文件、目录游览与MIME类型管理Startup管道配置中,可以看到,注入相关静态资源的代码//自定义自己的文件路径,例如提供访问根目录下的文件,http://localhost:5000/preview/README.md //将访问服务端的根目录中的README.md文件 //var provider = new FileExtensionContentTypeProvider(); //pr...

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")
            });

 

本文地址:https://blog.csdn.net/LongtengGensSupreme/article/details/108711522