C# 将MapWhen与多个文件扩展名一起使用
在ASP.NET核心项目的my Startup.cs中使用MapWhen时,是否可以检查多个文件扩展名?我目前有这段代码,但不知道如何让它更“智能化”一点C# 将MapWhen与多个文件扩展名一起使用,c#,asp.net-core,C#,Asp.net Core,在ASP.NET核心项目的my Startup.cs中使用MapWhen时,是否可以检查多个文件扩展名?我目前有这段代码,但不知道如何让它更“智能化”一点 app.MapWhen(context => context.Request.Path.ToString().Contains(".png") || context.Request.Path.ToString().Contains(".pdf") || context.Reque
app.MapWhen(context =>
context.Request.Path.ToString().Contains(".png") ||
context.Request.Path.ToString().Contains(".pdf") ||
context.Request.Path.ToString().Contains(".xlsx") ||
context.Request.Path.ToString().Contains(".xlsb") ||
context.Request.Path.ToString().Contains(".xlsm") ||
context.Request.Path.ToString().Contains(".docx") ||
context.Request.Path.ToString().Contains(".doc"),
appBranch =>
{
appBranch.UseStaticFiles(new StaticFileOptions
不确定是否可以同时检查多个文件扩展名?请尝试以下代码
app.MapWhen(context =>
//Load below array from config if you wish to.
var supportedExtensions = new string[] { ".png", ".pdf", ".xlsx" };
var dotIndex = context.Request.Path.ToString().IndexOf('.');
if(dotIndex == -1) return false;
var pathExtn = context.Request.Path.ToString().Substring(dotIndex);
return supportedExtensions.Contains(pathExtn);
appBranch =>
{
appBranch.UseStaticFiles(new StaticFileOptions
没问题。如果您也使用
Path.GetExtension
,则可以对其进行更多的清理。显然这取决于你,因为你有一个有效的解决方案。