一.静态文件
1.css js html等等
2.静态文件默认存储在wwwroot(项目中的根目录)
3.在wwwroot下建立文件夹
4.
//startup下的代码
//在wwwroot下的文件能支持访问
public void Configure(IApplicationBuilder app,IHostingEnviroment ent,ILogger<startup> looger)
{
if(env.Isdevelopement())
{
app.UseDeveloperExceptionPage();
}
//添加静态文件中间件
app.UseStaticFiles();
app.Run(async(context)=>
{
await context.Response.WriteAsync("Hello Word");
});
}
5.非wwwroot下的文件如何支持
//非wwwroot下的文件如何支持
public void COnfigure(IApplicationBuilder app,IHostingEnviroment env)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
DefaultFilesOptions defaultFilesOptions=new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Cleat();
defaultFilesOptions.DefaultFileNames.Add("XXX.html");
app.UseDefaultFiles(defaultFilesOptions);
//添加静态文件中间件
app.UseStaticFiles();
//添加默认文件中间件 index.html index.htm default.html default.htm
app.Run(async(context)=>
{
awair context.response.WriteAsync("Hello World");
})
}
//第二种用法
public void Configure(IApplicationBuilder app,IHostingEnviroment env,ILogger<startup>logger)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
//DefaultFilesOptions defaultFilesOptions=new DefaultFilesOptions();
//defaultFilesOptions.DefaultFileNames.Clear();
//defaultFilesOptions.DefaultFileNames.Add("XXX.html");
FileServerOptions fileServeerOptions-=new FileServerOptions();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Clear();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Add("xxx.html");
//结合多个中间件的功能 可以实现以上中间件的功能
app.UseFileServer(fileServerOptions);
app.Run(async(context)=>
{
await context.Response.WriteAsync("Hello World");
})
}
总结:要使用静态文件,必须使用UseStaticFiles()中间件
要定义默认文件,必须使用UseDefaultFiles()中间件
默认支持的文件列表:index.html index.htm default.html defaul.htm
UseDefaultFiles()必须注册在UseStaticFiles()前面
UseFileServer结合了UseStaticFiles,UseDefaultFiles和UseDirectoryBrowser中间件的功能(不推荐使用,不能把自己的文件目录等暴露到外网上)