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目錄路徑,這些靜態目錄不會同步複製到調試目錄下的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章