diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index f56dc38d2..0a4a2ca26 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -296,6 +296,14 @@ namespace IRaCIS.Core.API.Controllers var startTime = DateTime.Now; + + if (_provider.Exists($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}") && _provider.Get($"StudyUid_{trialId}_{studyInstanceUid}").Value == _userInfo.Id) + { + _provider.Set($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}", _userInfo.Id, TimeSpan.FromMinutes(30)); + } + + + //if (_provider.Exists($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}")) //{ // //---当前已有人正在上传和归档该检查! diff --git a/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs b/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs index 19df10ddf..d45350482 100644 --- a/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs +++ b/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs @@ -59,20 +59,20 @@ namespace IRaCIS.Core.API #region 方式二 - var defaultFileProvider = new PhysicalFileProvider(iRaCISDefaultDataFolder); + //var defaultFileProvider = new PhysicalFileProvider(iRaCISDefaultDataFolder); - var staticFileOptions = new StaticFileOptions - { - FileProvider = defaultFileProvider, - RequestPath = $"/{StaticData.Folder.IRaCISDataFolder}", - ServeUnknownFileTypes = true, - DefaultContentType = "application/octet-stream" - }; + //var staticFileOptions = new StaticFileOptions + //{ + // FileProvider = defaultFileProvider, + // RequestPath = $"/{StaticData.Folder.IRaCISDataFolder}", + // ServeUnknownFileTypes = true, + // DefaultContentType = "application/octet-stream" + //}; - var a = defaultFileProvider.GetFileInfo(context.Request.Path).Exists; + //var a = defaultFileProvider.GetFileInfo(context.Request.Path).Exists; - var staticFileMiddleware = new StaticFileMiddleware(_next, _hostingEnv, Options.Create(staticFileOptions), _loggerFactory); - await staticFileMiddleware.Invoke(context); + //var staticFileMiddleware = new StaticFileMiddleware(_next, _hostingEnv, Options.Create(staticFileOptions), _loggerFactory); + //await staticFileMiddleware.Invoke(context); #endregion @@ -80,17 +80,18 @@ namespace IRaCIS.Core.API #region 文档上传默认会加wwwroot 奇怪... - //var defaultFileProvider = new PhysicalFileProvider(FileStoreHelper.GetIRaCISRootPath(_hostingEnv)); + var defaultFileProvider = new PhysicalFileProvider(FileStoreHelper.GetIRaCISRootPath(_hostingEnv)); - //if (defaultFileProvider.GetFileInfo(path.Trim('/')).Exists) - //{ + if (defaultFileProvider.GetFileInfo(path).Exists) + { - // var actrualPath = defaultFileProvider.GetFileInfo(context.Request.Path).PhysicalPath; + var actrualPath = defaultFileProvider.GetFileInfo(path).PhysicalPath; + var actrualPath2 = defaultFileProvider.GetFileInfo(path).PhysicalPath; - // await context.Response.SendFileAsync(new PhysicalFileInfo(new FileInfo(actrualPath))); + await context.Response.SendFileAsync(new PhysicalFileInfo(new FileInfo(actrualPath))); - // return; - //} + return; + } #endregion } @@ -122,10 +123,10 @@ namespace IRaCIS.Core.API - if (otherFileProvider.GetFileInfo(context.Request.Path).Exists) + if (otherFileProvider.GetFileInfo(path).Exists) { - var actrualPath = otherFileProvider.GetFileInfo(context.Request.Path).PhysicalPath; + var actrualPath = otherFileProvider.GetFileInfo(path).PhysicalPath; //方式一 await context.Response.SendFileAsync( new PhysicalFileInfo(new FileInfo(actrualPath))); diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index 8e1d4c253..2d37728a0 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -764,6 +764,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc if (_provider.Exists($"StudyUid_{trialId}_{studyInstanceUid}")) { + result.AllowUpload = false; result.AllowReUpload = false; @@ -829,7 +830,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { lock (lockObj) { - _provider.Set($"StudyUid_{trialId}_{studyInstanceUid}", _userInfo.Id, TimeSpan.FromMinutes(30)); + _provider.Set($"StudyUid_{trialId}_{studyInstanceUid}", _userInfo.Id, TimeSpan.FromSeconds(30)); } }