CT心脏Dicom MPR, asp.net MVC c#上传选项

本文关键字:MVC 选项 net asp 心脏 Dicom MPR CT | 更新日期: 2023-09-27 18:01:50

我的应用程序是asp.net MVC3,我使用图像处理程序开发了一个dicom查看器,它工作得很好,现在的挑战是CT心脏MPR图像,有些情况下是3000多个图像,我无法将它们打开到浏览器缓存中,我得到内存错误。作为变通办法,我每次只打开10个文件;它工作得很好,但不与旋转(旋转视图逆时针围绕选定的轴)。我在处理程序中使用以下脚本。

MemoryStream objMemoryStream = new MemoryStream();
objImage.Save(objMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageContent = new byte[objMemoryStream.Length];
objMemoryStream.Position = 0;
objMemoryStream.Read(imageContent, 0, (int)objMemoryStream.Length);
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite(imageContent);

我的问题是,是更好地将图像存储在会话变量中,还是将图像存储为二进制数据在sql表中以加快上传?谢谢您的建议。

CT心脏Dicom MPR, asp.net MVC c#上传选项

您可以通过直接将图像写入响应输出流来避免在中间字节数组变量和MemoryStream中加载图像:

context.Response.ContentType = "image/jpeg";
objImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

这将减少至少两倍的内存使用。但我不确定我理解真正的问题在这里,什么是ASP。. NET MVC 3必须与您的问题以及如何在SQL Server或Session中存储图像将有所帮助。