From c876c1d0fa8427ff6cad270a7654962b4bb993e6 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 23 May 2022 10:07:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/NoneDicomStudyService.cs | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs index db700685..c046e7e3 100644 --- a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs @@ -232,7 +232,7 @@ namespace IRaCIS.Core.Application.Contracts //上传根路径 var _fileStorePath = Path.Combine(rootPath, StaticData.TrialDataFolder); - var sv = await _repository.Where(t => t.Id == subjectVisitId).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefaultAsync().IfNullThrowConvertException(); + var sv = (await _repository.Where(t => t.Id == subjectVisitId).Select(t => new { t.TrialId, t.SiteId, t.SubjectId }).FirstOrDefaultAsync()).IfNullThrowConvertException(); string uploadFolderPath = Path.Combine(_fileStorePath, sv.TrialId.ToString(), sv.SiteId.ToString(), sv.SubjectId.ToString(), subjectVisitId.ToString(), StaticData.NoneDicomFolder); @@ -260,15 +260,9 @@ namespace IRaCIS.Core.Application.Contracts else { - var fileName = file.FileName; - //带目录层级,需要后端处理前端的路径 - if (fileName.Contains("\\")) - { - fileName = fileName.Split("\\").Last(); - } + - - var trustedFileNameForFileStorage = GetStoreFileName(fileName); + var( trustedFileNameForFileStorage, fileName) = GetStoreFileName(file.FileName); var relativePath = $"/{StaticData.TrialDataFolder}/{sv.TrialId}/{sv.SiteId}/{sv.SubjectId}/{subjectVisitId}/{StaticData.NoneDicomFolder}/{trustedFileNameForFileStorage}"; var filePath = Path.Combine(uploadFolderPath, trustedFileNameForFileStorage); @@ -311,7 +305,7 @@ namespace IRaCIS.Core.Application.Contracts return ResponseOutput.Ok(/*list*/); } - private string GetStoreFileName(string fileName) + private (string TrustedFileNameForFileStorage,string RealName ) GetStoreFileName(string fileName) { //var realName = fileName; @@ -320,29 +314,34 @@ namespace IRaCIS.Core.Application.Contracts //var trustedFileNameForFileStorage = Guid.NewGuid().ToString() + fileNameEX; + //带目录层级,需要后端处理前端的路径 + if (fileName.Contains("\\")) + { + fileName = fileName.Split("\\").Last(); + } + + if (fileName.Contains("/")) + { + fileName = fileName.Split("/").Last(); + } + + + var trustedFileNameForFileStorage = Guid.NewGuid().ToString() + fileName; - return trustedFileNameForFileStorage; + return (trustedFileNameForFileStorage, fileName); } private async void DealCompressFile(IArchiveEntry entry, dynamic sv, Guid subjectVisitId, Guid noneDicomStudyId, string uploadFolderPath) { - var trustedFileNameForFileStorage = GetStoreFileName(entry.Key); + var (trustedFileNameForFileStorage, fileName) = GetStoreFileName(entry.Key); var relativePath = $"/{StaticData.TrialDataFolder}/{sv.TrialId}/{sv.SiteId}/{sv.SubjectId}/{subjectVisitId}/{StaticData.NoneDicomFolder}/{trustedFileNameForFileStorage}"; var filePath = Path.Combine(uploadFolderPath, trustedFileNameForFileStorage); entry.WriteToFile(filePath); - - var fileName = string.Empty; - - if (entry.Key.Contains("\\")) - { - fileName = entry.Key.Split("\\").Last(); - } - - + await _noneDicomStudyFileRepository.AddAsync(new NoneDicomStudyFile() { FileName = fileName, Path = relativePath, NoneDicomStudyId = noneDicomStudyId }); }