irc-netcore-api/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFileStoreConfig.cs

102 lines
3.2 KiB
C#

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);
}
//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
}
}
}