ASP.NET Core – Static Files

前言

记入一些冷门的知识.

 

Custom content-type

var fileExtensionContentTypeProvider = new FileExtensionContentTypeProvider();
fileExtensionContentTypeProvider.Mappings[".webmanifest"] = "application/manifest+json";
builder.Services.Configure<StaticFileOptions>(options =>
{
    options.ContentTypeProvider = fileExtensionContentTypeProvider;
});

 

处理没有 extension 的 files

参考:

ASP.NET Core 2.0 - Serving files with no extension

How can you use multiple directories for static files in an aspnet core app?

这个需求有点奇葩哦. 我是因为用 face-api.js, 它的 models files 是没有 extension 的...

解决方法是在 startup.cs > Configure 加多一个 UseStaticFiles, 然后指定路径来特别处理. ServeUnknownFileTypes 是有安全隐患的, 所以要小心用哦.

app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/face-api-models")),
    RequestPath = "/face-api-models",
    ServeUnknownFileTypes = true,
});

 

posted @ 2022-04-20 18:51  兴杰  阅读(89)  评论(0)    收藏  举报