当前位置: 首页 > news >正文

解决ASP.NET MVC的FileStreamResult无法正确返回数据问题

使用ASP.NET MVC 3 RC2 的时候发现,这样的代码在一些情况下总是无法返回正确的结果(理论上来说前几个版本也存在这种可能):

MemoryStream ms  =  xxxx; // 图片类型
return  File(ms,  " image/jpeg " );

 


跟踪了一下File的结果,确实已经有数据,但是无法在页面上返回(此时File重写方法返回的是FileSreamResult)。

但如果把这个Stream先保存为文件,然后直接返回文件名是可以的: 

return  File(filename,  " image/jpeg " );

 

此时File重写方法返回的是FileContentResult。

经过比较发现,这两个方法其实都可以获取到正确的FileSreamResult或者FileContentResult,只不过MVC无法正确渲染FileSreamResult,于是walkaround一下:

MemoryStream ms  =  xxxx; // 图片类型
return  File(ms.ToArray(),  " image/jpeg " );

 

这样就把MemoryStream转成byte[]类型,返回类型为FileContentResult,可以正常输出。

相关文章:

  • asp.net MVC 权限设计(续)
  • IBM创磁带存储新纪录
  • patch 的用法
  • 大话风险投资的风险-不只是独角戏(上)
  • hadoop作业调优参数整理及原理(2)
  • x264源代码分析-转
  • 100题_01 把二元查找树转变成排序的双向链表
  • 哪本书是对程序员最有影响、每个程序员都该阅读的书?
  • 监理资质-《信息系统监理师辅导教程》(电子版)上册勘误
  • Linux系统下MySQL数据库服务器字符集设置
  • Microsoft Visual Studio 2010 Service Pack 1 正式版官方下载地址
  • 基于IDS的各种软件和硬件测试方法
  • Thinking
  • 五、WebService会话Session的管理
  • rhel6-体验无人值守安装RHEL6
  • JavaScript-如何实现克隆(clone)函数
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • CSS相对定位
  • Elasticsearch 参考指南(升级前重新索引)
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • KMP算法及优化
  • Koa2 之文件上传下载
  • nginx 负载服务器优化
  • nginx 配置多 域名 + 多 https
  • Python爬虫--- 1.3 BS4库的解析器
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 代理模式
  • 当SetTimeout遇到了字符串
  • 复习Javascript专题(四):js中的深浅拷贝
  • 来,膜拜下android roadmap,强大的执行力
  • 聊聊hikari连接池的leakDetectionThreshold
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 每天10道Java面试题,跟我走,offer有!
  • 模型微调
  • 排序(1):冒泡排序
  • 什么是Javascript函数节流?
  • 使用 @font-face
  • MyCAT水平分库
  • 通过调用文摘列表API获取文摘
  • ​批处理文件中的errorlevel用法
  • # centos7下FFmpeg环境部署记录
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二)斐波那契Fabonacci函数
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (一)UDP基本编程步骤
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .Net Core 中间件验签
  • .net core使用RPC方式进行高效的HTTP服务访问