using IRaCIS.Core.Application.Helper; 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 _hostEnvironment) { var iRaCISDataFolder = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment); 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(_hostEnvironment.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); } app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(uploadPath), RequestPath = $"/{StaticData.UploadFileFolder}" }); //if (!Directory.Exists(dicomPath)) //{ // Directory.CreateDirectory(dicomPath); //} //if (!Directory.Exists(systemDataFolder)) //{ // Directory.CreateDirectory(systemDataFolder); //} //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 } } }