From 0fdbb5dde089d540aa59fd8ee289df7ca9646a4d Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 12 Mar 2026 11:22:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=94=9F=E6=88=90dir=20?= =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UploadDownLoadController.cs | 43 +++++++++++++------ IRaCIS.Core.Application/TestService.cs | 2 +- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index bb7517717..a022b4e43 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -1054,18 +1054,22 @@ namespace IRaCIS.Core.API.Controllers Log.Logger.Warning($"DIRPath: {study.StudyDIRPath}"); - try + if (study.StudyDIRPath.IsNotNullOrEmpty()) { - await using (var entryStream = dicomDirEntry.Open()) - await using (var dirStream = await _oSSService.GetStreamFromOSSAsync(study.StudyDIRPath)) + + + try { - await dirStream.CopyToAsync(entryStream, 32 * 1024, abortToken); + await using (var entryStream = dicomDirEntry.Open()) + await using (var dirStream = await _oSSService.GetStreamFromOSSAsync(study.StudyDIRPath)) + { + await dirStream.CopyToAsync(entryStream, 32 * 1024, abortToken); + } + } + catch (Exception ex) + { + Log.Logger.Warning($"处理文件{study.StudyCode}DIR失败: {ex.Message}"); } - } - catch (Exception ex) - { - Log.Logger.Warning($"处理文件{study.StudyCode}DIR失败: {ex.Message}"); - continue; } @@ -2076,12 +2080,27 @@ namespace IRaCIS.Core.API.Controllers var dicomDirPath = $"{visit.SubjectCode}_{visit.VisitName}/{studyTime}_{modalitysStr}/DICOMDIR"; var dicomDirEntry = zip.CreateEntry(dicomDirPath, CompressionLevel.Fastest); - await using (var entryStream = dicomDirEntry.Open()) - await using (var dirStream = await _oSSService.GetStreamFromOSSAsync(study.StudyDIRPath)) + Log.Logger.Warning($"DIRPath: {study.StudyDIRPath}"); + + if (study.StudyDIRPath.IsNotNullOrEmpty()) { - await dirStream.CopyToAsync(entryStream, 32 * 1024, abortToken); + + + try + { + await using (var entryStream = dicomDirEntry.Open()) + await using (var dirStream = await _oSSService.GetStreamFromOSSAsync(study.StudyDIRPath)) + { + await dirStream.CopyToAsync(entryStream, 32 * 1024, abortToken); + } + } + catch (Exception ex) + { + Log.Logger.Warning($"处理文件{study.StudyCode}DIR失败: {ex.Message}"); + } } + // ---------- IMAGE FILES ---------- foreach (var series in study.SeriesList) { diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index e258c7c15..d3d7cc6f0 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -647,7 +647,7 @@ namespace IRaCIS.Core.Application.Service [UnitOfWork] public async Task Get([FromServices] IOptionsMonitor _encreptResponseMonitor) - { + { var _IRCEncreptOption = _encreptResponseMonitor.CurrentValue; var publicKey = Encoding.UTF8.GetString(Convert.FromBase64String(_IRCEncreptOption.Base64RSAPublicKey));