要确保ActionResult正确返回PDF文件,需执行以下步骤:
1.使用System.IO.FileStream类打开PDF文件。 2.使用System.Web.Mvc.FileContentResult类返回PDF文件。 3.设置HTTP响应头以将文件作为PDF返回。
以下示例代码演示如何返回PDF文件:
//定义一个ActionResult方法,将PDF文件返回给HTTP响应 public ActionResult GetPDF() { string filePath = Server.MapPath("~/Content/MyPDFFile.pdf"); FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); byte[] buffer = new byte[(int)fileStream.Length]; fileStream.Read(buffer, 0, (int)fileStream.Length);
fileStream.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename=MyPDFFile.pdf");
return new FileStreamResult(new MemoryStream(buffer), "application/pdf");
}
使用此方法可将文件视为PDF文件返回,使浏览器能够直接渲染PDF而不是下载。如果想让用户下载PDF文件,则只需更改响应头中附件的值。