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

80 lines
2.6 KiB
C#

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 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
}
}
}