ASP.NET Core 编程中添加多个静态文件夹的方法

在 ASP.NET Core 编程中添加静态文件支持是非常简单直观的,只需要简单的一行代码即可实现。

app.UseStaticFiles();

这段代码的作用是将项目根目录下的 wwwroot 文件夹映射到 / 路径,并将其包含(包括子目录)的所有文件,比如 js 、css、图片等文件当做静态文件处理,并内置了绝大多数常用 MimeType 的支持。

在绝大多数情况下,这已经足够使用了。但有一个问题,就是如果需要添加多个文件夹映射,该怎么办呢?这种情况不建议,但有时候难以避免,比如有一个包含其它资源的外部文件夹需要映射到网站的虚拟路径下。

这可以使用以下方式来实现。

app
    .UseStaticFiles()
    .UseStaticFiles(new StaticFileOptions()
    {
        FileProvider = new PhysicalFileProvider("要添加的文件夹路径")),
        // 要映射到的 Web 路径 
        RequestPath = new PathString("/product-images"),
        DefaultContentType = "application/octet-stream"
    });

可以看出 UseStaticFile() 是可以多次调用的。

虽然可以实现这样的功能,但最佳实践依然是将 wwwroot 作为唯一静态文件夹,如果确实需要映射外部文件夹,请注意好权限设置,确保安全。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章