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