diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index 3fef559d1..31ba365a1 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -1077,9 +1077,6 @@ namespace IRaCIS.Core.API.Controllers // 获取 Pixel Data 标签 var pixelData = DicomPixelData.Create(dicomFile.Dataset); - var frag = dicomFile.Dataset.GetDicomItem(DicomTag.PixelData); - - var originOffsetTable = frag.OffsetTable; //获取像素是否为封装形式 var syntax = dicomFile.Dataset.InternalTransferSyntax; @@ -1095,7 +1092,12 @@ namespace IRaCIS.Core.API.Controllers newFragments.Fragments.Add(new MemoryByteBuffer(frameData.Data)); } - newFragments.OffsetTable.AddRange(originOffsetTable.ToArray()); + + var frag = dicomFile.Dataset.GetDicomItem(DicomTag.PixelData); + + var originOffsetTable = frag?.OffsetTable; + + newFragments.OffsetTable.AddRange(originOffsetTable?.ToArray()); // 替换原有的片段序列 dicomFile.Dataset.AddOrUpdate(newFragments); } @@ -1286,9 +1288,7 @@ namespace IRaCIS.Core.API.Controllers // 获取 Pixel Data 标签 var pixelData = DicomPixelData.Create(dicomFile.Dataset); - var frag = dicomFile.Dataset.GetDicomItem(DicomTag.PixelData); - - var originOffsetTable = frag.OffsetTable; + //获取像素是否为封装形式 var syntax = dicomFile.Dataset.InternalTransferSyntax; @@ -1304,7 +1304,11 @@ namespace IRaCIS.Core.API.Controllers newFragments.Fragments.Add(new MemoryByteBuffer(frameData.Data)); } - newFragments.OffsetTable.AddRange(originOffsetTable.ToArray()); + var frag = dicomFile.Dataset.GetDicomItem(DicomTag.PixelData); + + var originOffsetTable = frag?.OffsetTable; + + newFragments.OffsetTable.AddRange(originOffsetTable?.ToArray()); // 替换原有的片段序列 dicomFile.Dataset.AddOrUpdate(newFragments); }