ASP.NET MVC:从控制器方法返回纯文本文件下载

考虑是否需要将控制器方法中的纯文本文件返回给调用者。 这个想法是下载文件,而不是在浏览器中查看明文。

我有以下方法,并按预期工作。 该文件被呈现给浏览器下载,并且文件被填充string。

我想寻找一个更正确的方法实现,因为我不是100%的void返回types的舒适。

 public void ViewHL7(int id) { string someLongTextForDownload = "ABC123"; Response.Clear(); Response.ContentType = "text/plain"; Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.hl7", id.ToString())); Response.Write(someLongTextForDownload); Response.End(); } 

使用控制器类上的File方法返回FileResult

 public ActionResult ViewHL7( int id ) { ... return File( Encoding.UTF8.GetBytes( someLongTextForDownLoad ), "text/plain", string.Format( "{0}.hl7", id ) ); } 

你会想从你的方法返回一个FileContentResult