// 堆代码 duidaima.com DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions(); defaultFilesOptions.DefaultFileNames.Clear(); defaultFilesOptions.DefaultFileNames.Add("index.html"); app.UseDefaultFiles(defaultFilesOptions); var provider = new FileExtensionContentTypeProvider(); // Add new mappings,将properties文件映射为text/html provider.Mappings[".pag"] = "text/html"; app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider }); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();
总结:
.NET Core默认只支持.css,.js或者图片等常见的静态文件,对于一些特殊的静态文件,我们需要通过静态文件中间件StaticFiles来处理,本案例中就是因为刚开始没有将.pag后缀静态文件做映射处理,所以出现了404错误,我们通过provider.Mappings[".pag"] = "text/html"映射后问题得到解决。