using IRaCIS.Core.Domain.Share; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.FileProviders; using System.IO; namespace IRaCIS.Core.API { public static class IRacisHostFileStore { public static void UseIRacisHostStaticFileStore(this IApplicationBuilder app, IWebHostEnvironment env) { var iRaCISDataFolder = Path.Combine(Directory.GetParent(env.ContentRootPath.TrimEnd('\\')).FullName, StaticData.IRaCISDataFolder); if (!Directory.Exists(iRaCISDataFolder)) { Directory.CreateDirectory(iRaCISDataFolder); } app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(iRaCISDataFolder), RequestPath = $"/{StaticData.IRaCISDataFolder}" }); #region 后期废弃 var uploadPath = Path.Combine(Directory.GetParent(env.ContentRootPath.TrimEnd('\\')).FullName, StaticData.UploadFileFolder); var dicomPath = Path.Combine(Directory.GetParent(env.ContentRootPath.TrimEnd('\\')).FullName, StaticData.TrialDataFolder); var systemDataFolder = Path.Combine(Directory.GetParent(env.ContentRootPath.TrimEnd('\\')).FullName, StaticData.SystemDataFolder); if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } if (!Directory.Exists(dicomPath)) { Directory.CreateDirectory(dicomPath); } if (!Directory.Exists(systemDataFolder)) { Directory.CreateDirectory(systemDataFolder); } app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(uploadPath), RequestPath = $"/{StaticData.UploadFileFolder}" }); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(dicomPath), RequestPath = $"/{StaticData.TrialDataFolder}" }); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(systemDataFolder), RequestPath = $"/{StaticData.SystemDataFolder}" }); #region 兼容之前的文档能查看 //var comonPathPath = Path.Combine(Directory.GetParent(env.ContentRootPath.TrimEnd('\\')).FullName, StaticData.CommonFileFolder); //var systemNoticePath = Path.Combine(Directory.GetParent(env.ContentRootPath.TrimEnd('\\')).FullName, StaticData.SystemNoticeFolder); //if (!Directory.Exists(comonPathPath)) //{ // Directory.CreateDirectory(comonPathPath); //} //app.UseStaticFiles(new StaticFileOptions //{ // FileProvider = new PhysicalFileProvider(comonPathPath), // RequestPath = $"/{StaticData.CommonFileFolder}" //}); #endregion #endregion } } }