asp.net-mvc-3 – ASP.net MVC ActionResult在从MemoryStream返
发布时间:2020-12-16 06:59:11 所属栏目:asp.Net 来源:网络整理
导读:我在Controller中有以下操作 public ActionResult DownloadExcel() { //create and populate Excel file here C1XLBook testBook = new C1XLBook(); //populate it here MemoryStream ms = new MemoryStream(); testBook.Save(ms,FileFormat.Biff8); return
我在Controller中有以下操作
public ActionResult DownloadExcel() { //create and populate Excel file here C1XLBook testBook = new C1XLBook(); //populate it here MemoryStream ms = new MemoryStream(); testBook.Save(ms,FileFormat.Biff8); return File(ms,"application/ms-excel","test-file.xls"); } 打开文件时,我收到Excel消息,指出该文件与扩展名不匹配,文件打开已损坏. 如果我将文件保存在硬盘驱动器上并从那里返回,一切都很好: return base.File(@"C:LOGStest-file.xls","test-excel.xls"); 我最初认为保存功能在将其保存到MemoryStream时会破坏它,所以我保存并重新加载它并且很好地传回给用户 – 当保存在硬盘驱动器上并从那里返回时,而不是从的MemoryStream 有任何想法吗?我不太喜欢将文件保存在硬盘上….此外我应该能够将它保存到MemoryStream并从那里返回它? 我有一个预感,也许MemoryStream不应该用于返回MVC中的文件,因为每个请求都是隔离的? 解决方法
在将结果传递给结果之前,您可能需要倒回内存流(设置ms.Position = 0;)?在保存其位置的呼叫将结束,而不是开始.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在ApiController构造之后但在执行动作之
- asp.net – 如何限制文本框中允许的字符数?
- asp.net – 什么是Kestrel(vs IIS/Express)
- 将在公共计算机或自助服务终端上使用的ASP.Net Web应用程序
- asp.net-mvc – 如何使用ASP.NET 5 MVC保护Web API 6
- asp.net-mvc – 测量时间调用ASP.NET MVC控制器操作
- 在asp.net mvc2项目中不需要MS脚本的JQuery验证
- 具有确认电子邮件的ASP.NET会员提供商
- 用于ASP c中酒店房间可用性的SQL
- asp.net-mvc-2 – ASP.NET MVC 2显示名称DataAnnotion from
推荐文章
站长推荐
- 实体框架 – 使用实体框架数据模型添加验证属性
- asp.net-mvc – 使用Knockout JS MVC服务器端模型
- asp.net-mvc – 如何重定向HTTP到HTTPS在MVC应用
- asp.net – 安装MS Web Deploy 3.0 – 无法启动W
- asp.net – 有没有办法以编程方式设置Elmah中的应
- asp.net-mvc – ASP.NET MVC – 如何从不同的控制
- asp.net <%$...%>语法
- asp.net – 允许远程访问IIS 7.5
- asp.net – 如何使用WebClient访问ASMX Web服务?
- asp.net-mvc-4 – 无法获取MVC 4 FileExtensions
热点阅读