[英]Create folders in wwwroot on startup in NetCore
有沒有辦法在應用程序啟動時在wwwroot
中創建文件夾? 也許在startup.cs
class?
我知道如何在 controller 操作方法中的wwwroot
中創建文件夾。 我不想要這個。
這就是我想要的:
List<Organization> Organizations
foreach (Organization in Organization)
我想要一個在wwwroot
文件夾中創建的帶有Organization.Name
的文件夾在此先感謝您的幫助
你可以使用以下
但請注意,您的 foreach 中有重復的變量名稱
var rootFolder=Path.Combine(Directory.GetCurrentDirectory(),"wwwroot");
foreach (org in Organizations){
var orgFolderPath=Path.Combine(rootfolder,org.Name);
if(!Directory.Exists(orgFolderPath){
Directory.CreateDirectory(orgFolderPath);
}
}
有沒有辦法在應用程序啟動時在 wwwroot 中創建文件夾? 也許在startup.cs class?
為了達到這個要求,您可以嘗試將IHostApplicationLifetime
注入Configure()
方法並為ApplicationStarted
編寫回調,然后您可以基於List<Organization> Organizations
創建文件夾。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
{
//...
//your code here
lifetime.ApplicationStarted.Register(OnApplicationStartedAsync(env).Wait);
//...
}
private async Task<Action> OnApplicationStartedAsync(IWebHostEnvironment env)
{
foreach (var org in Organizations)
{
var path = Path.Combine(env.WebRootPath, $"{org.Name}");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}
return null;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.