我需要在ASP.NET MVC中实现文件下载.在网上搜索,我找到了这样的代码:
public ActionResult GetFile() { return File(filename,"text/csv",Server.UrlEncode(filename)); }@H_404_4@这很好,但我想动态创建此文件的内容. @H_404_4@我意识到我可以动态创建文件,然后使用上面的语法下载该文件.但如果我能直接将我的内容直接写入回复,那会不会更有效率?这在MVC中是否可行?
解决方法
这是我最终使用的代码的过度简化版本.它符合我的需求.
[HttpGet] public ActionResult GetFile() { Response.Clear(); Response.AddHeader("Content-Disposition","attachment; filename=myfile.csv"); Response.ContentType = "text/csv"; // Write all my data Response.Write(...); Response.End(); // Not sure what else to do here return Content(String.Empty); }