修改下载影像处理sr ot 多帧处理失败
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
hang 2026-01-04 11:36:50 +08:00
parent 0cb2015aae
commit 7fa043793e
1 changed files with 32 additions and 7 deletions

View File

@ -1057,7 +1057,7 @@ namespace IRaCIS.Core.API.Controllers
Log.Logger.Warning($"处理文件{study.StudyCode}DIR失败: {ex.Message}");
continue;
}
// ---------- IMAGE FILES ----------
foreach (var series in study.SeriesList)
@ -1085,7 +1085,7 @@ namespace IRaCIS.Core.API.Controllers
{
#region 将多帧合并为一帧
try
{
@ -1125,7 +1125,20 @@ namespace IRaCIS.Core.API.Controllers
catch (Exception ex)
{
Log.Logger.Warning($"处理多帧合并{instance.Path}失败: {ex.Message}");
Log.Logger.Warning($"处理多帧合并{instance.Path}失败,以原始文件下载: {ex.Message}");
try
{
await using var source2 = await _oSSService.GetStreamFromOSSAsync(instance.Path);
await source2.CopyToAsync(entryStream, 32 * 1024, abortToken);
}
catch (Exception ex2)
{
Log.Logger.Warning($"原始文件下载{instance.Path}失败: {ex2.Message}");
}
}
#endregion
@ -1176,7 +1189,7 @@ namespace IRaCIS.Core.API.Controllers
// ✅ HttpConnection.ContentLengthReadStream 已知问题
Log.Logger.Warning($"Stream aborted: {ex.Message}");
}
catch (Exception ex)
catch (Exception ex)
{
// ✅ HttpConnection.ContentLengthReadStream 已知问题
Log.Logger.Warning($"异常: {ex.Message}");
@ -1771,7 +1784,7 @@ namespace IRaCIS.Core.API.Controllers
// 获取 Pixel Data 标签
var pixelData = DicomPixelData.Create(dicomFile.Dataset);
//获取像素是否为封装形式
var syntax = dicomFile.Dataset.InternalTransferSyntax;
@ -1804,7 +1817,7 @@ namespace IRaCIS.Core.API.Controllers
Log.Logger.Warning($"处理多帧合并{instance.Path}失败: {ex.Message}");
}
#endregion
await dicomFile.SaveAsync(entryStream);
@ -1857,7 +1870,7 @@ namespace IRaCIS.Core.API.Controllers
public async Task<IActionResult> VisitImageDownload([FromServices] IPatientService _patientService, [FromServices] IOSSService _oSSService,
[FromServices] IHubContext<DownloadHub, IDownloadClient> _downLoadHub,
[FromServices] IRepository<Trial> _trialRepository,
[FromQuery] VisitImageDownloadCommand inCommand)
[FromQuery] VisitImageDownloadCommand inCommand)
{
var rusult = await _patientService.GetDownloadSubjectVisitStudyInfo(inCommand);
@ -2030,6 +2043,18 @@ namespace IRaCIS.Core.API.Controllers
{
Log.Logger.Warning($"处理多帧合并{instance.Path}失败: {ex.Message}");
try
{
await using var source2 = await _oSSService.GetStreamFromOSSAsync(instance.Path);
await source2.CopyToAsync(entryStream, 32 * 1024, abortToken);
}
catch (Exception ex2)
{
Log.Logger.Warning($"原始文件下载{instance.Path}失败: {ex2.Message}");
}
}
#endregion