asp.net-mvc – 使用FileStreamResult删除临时文件
发布时间:2020-12-16 10:01:13 所属栏目:asp.Net 来源:网络整理
导读:我正在使用MVC3返回在代码中创建的临时文件.然后,我使用FileStreamResult将此文件传回客户端.但是,因为这是我不再需要的临时文件,所以我想清理文件.我不知道怎么做,因为我已经在流式传输时遇到了return语句.谢谢. public FileStreamResult Download(){ strin
我正在使用MVC3返回在代码中创建的临时文件.然后,我使用FileStreamResult将此文件传回客户端.但是,因为这是我不再需要的临时文件,所以我想清理文件.我不知道怎么做,因为我已经在流式传输时遇到了return语句.谢谢.
public FileStreamResult Download() { string filename = Path.GetTempFileName(); using (FileStream stream = new FileStream(filename,FileMode.OpenOrCreate)) { CreateFile(this.DataContext,stream); } using (FileStream outputStream = new FileStream(filename,FileMode.Open)) { HttpContext.Response.AddHeader("content-disposition","attachment; filename=MyFile.xlsx"); return new FileStreamResult(outputStream,MimeTypeUtil.GetMimeType("xlsx")); } } 解决方法
如果您的代码与您发布的内容类似,则实际上可能不需要临时文件. (这假设您的方法在Controller内部):
public ActionResult Download() { using (var stream = new MemoryStream()) { CreateFile(this.DataContext,stream); stream.Position = 0; // Not sure if this is necessary return File(stream,MimeTypeUtil.GetMimeType("xlsx"),"MyFile.xlsx"); } } FileStreamResult有点用词不当.它似乎接受任何Stream对象,而不仅仅是文件流. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- entity-framework – IdentityServer 3 Asp.net身份:范围,
- asp.net – Azure Web角色 – 长时间运行请求(负载均衡器超
- asp.net-membership – 具有自定义成员资格提供程序的MVC 4
- asp.net – 如何在网格视图列标题上添加鼠标悬停工具提示
- asp.net – 如何提取与Outlook正在显示的employeeID属性值相
- 如何在ASP.Net内容页面中添加元标记
- ASP.NET Core 菜鸟之路:从Startup.cs说起
- asp.net – 在设置了控件的选定值后运行Javascript
- 使用ASP.Net Core MVC和ASP.Net Web Api在Angular2 App中进
- 为一个用户生成ASP.NET webapp错误,无法在开发中重现 – 如
推荐文章
站长推荐
热点阅读