首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CT cardic Dicom MPR,asp.net MVC c#上传选项

CT cardic Dicom MPR,asp.net MVC c#上传选项
EN

Stack Overflow用户
提问于 2013-03-03 14:06:50
回答 1查看 786关注 0票数 0

我的应用程序是asp.net MVC3,我已经开发了一个使用图像处理器的dicom查看器,它工作得很好,现在的挑战是CT cardic MPR图像,有些情况下超过3000张图像,我无法打开它们进入浏览器缓存,我得到了内存不足的错误。作为一种变通办法,我一次只打开10个文件;它工作得很好,但不能旋转(旋转视图反锁选择的轴)。我在处理程序中使用了以下脚本。

代码语言:javascript
复制
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表中,以加快上传速度?我很感谢你的建议,提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-04 00:31:35

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

代码语言:javascript
复制
context.Response.ContentType = "image/jpeg";
objImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

这将减少至少两倍的内存使用量。但我不确定我是否理解这里的真正问题,SQLMVC3与您的问题有什么关系,在ASP.NET Server或Session中存储图像会有什么帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15182967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档