NET Core/Net6设置静态资源目录的注意事项。

新版本net静态文件需要放到wwwroot目录才能访问,是通过 app.UseStaticFiles()中间件实现。

如果需要增加其他的静态资源目录,可以通过下面方式注册。

            //string baseDirectory=AppDomain.CurrentDomain.BaseDirectory; //应用程序目录
            string baseDirectory = Directory.GetCurrentDirectory(); //当前工作目录
            foreach(var dir in new string[] {"admin", "User" })
            {
                if(Directory.Exists(Path.Combine(baseDirectory, dir))){ //需要判断存在,不存在会报错
                    app.UseStaticFiles(new StaticFileOptions()
                    {
                        FileProvider = new PhysicalFileProvider(Path.Combine(baseDirectory, dir)),
                        RequestPath = "/" + dir
                    });
                }
            }

这里要注意,一定要用Directory.GetCurrentDirectory()获取工作目录,否则启动会提示找不到文件目录报错,因为AppDomain.CurrentDomain.BaseDirectory是在debug目录路径,这些静态目录不会同步复制到调试目录下的。

posted @ 2023-02-03 09:55  鹅是码农  阅读(574)  评论(0编辑  收藏  举报