From 9b6ddb0f1634e4e25a6ca0dbb42e909f27fe5bcb Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 1 Jun 2026 15:52:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E5=8E=8B=E7=BC=A9=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/TrialImageDownloadService.cs | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs b/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs index dab64d426..ef8607b24 100644 --- a/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs +++ b/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs @@ -157,6 +157,7 @@ namespace IRaCIS.Core.Application.Service public class DownloadJob { + public bool IsZip { get; set; } public string Name { get; set; } @@ -367,7 +368,7 @@ namespace IRaCIS.Core.Application.Service foreach (var noneDicomStudy in visitItem.NoneDicomStudyList) { - string studyNoneDicomFolderPath = Path.Combine(trialFolderPath, $"{visitItem.SubjectCode}_{visitItem.VisitName}", $"{noneDicomStudy.StudyCode}_{noneDicomStudy.ImageDate.ToString("yyyy-MM-dd")}_{noneDicomStudy.Modality}"); + string studyNoneDicomFolderPath = Path.Combine(trialFolderPath, $"{visitItem.SubjectCode}_{visitItem.VisitName.Trim()}", $"{noneDicomStudy.StudyCode}_{noneDicomStudy.ImageDate.ToString("yyyy-MM-dd")}_{noneDicomStudy.Modality}"); Directory.CreateDirectory(studyNoneDicomFolderPath); @@ -376,7 +377,7 @@ namespace IRaCIS.Core.Application.Service string destinationPath = Path.Combine(studyNoneDicomFolderPath, Path.GetFileName(file.FileName)); //加入到下载任务里 - downloadJobs.Add(new DownloadJob() { Name = $"{visitItem.SubjectCode}_{visitItem.VisitNum}_{visitItem.VisitName}_NoneDICOM_{destinationPath}", Action = () => _oSSService.DownLoadFromOSSAsync(HttpUtility.UrlDecode(file.Path), destinationPath) }); + downloadJobs.Add(new DownloadJob() { Name = $"{visitItem.SubjectCode}_{visitItem.VisitNum}_{visitItem.VisitName.Trim()}_NoneDICOM_{destinationPath}", Action = () => _oSSService.DownLoadFromOSSAsync(HttpUtility.UrlDecode(file.Path), destinationPath) }); //下载到当前目录 //await _oSSService.DownLoadFromOSSAsync(HttpUtility.UrlDecode(file.Path), destinationPath); @@ -391,6 +392,8 @@ namespace IRaCIS.Core.Application.Service { Name = $"{visitItem.SubjectCode}_{visitItem.VisitName.Trim()}_Zip", + IsZip = true, + Action = async () => { string zipPath = visitFolderPath + ".zip"; @@ -403,7 +406,7 @@ namespace IRaCIS.Core.Application.Service ZipFile.CreateFromDirectory( visitFolderPath, zipPath, - CompressionLevel.Fastest, + CompressionLevel.NoCompression, false); Directory.Delete(visitFolderPath, true); @@ -439,7 +442,18 @@ namespace IRaCIS.Core.Application.Service { try { - await job.Action(); + if (job.IsZip == false) + { + await job.Action(); + + } + else + { + _ = Task.Run(async () => + { + await job.Action(); + }); + } } catch (Exception ex) {