这应该是一个简单的答案,但由于我是MVC的新手,我还没有完全了解我的方法:我想通过向浏览器发送PDF来回复用户点击链接。< / p>
假设我的控制器名为 Invoice ,方法是 DownloadInvoice ,我应该在视图上放置哪些ID(字符串),以及如何回复这个回发?
我可以简单地回复一下吗
return new FileStreamResult(generatedInvoice.Stream, "application/pdf");
或者我是否需要将观众引导至另一个具有完整
的视图Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=labtest.pdf");
Response.Buffer = true;
Model.Stream.WriteTo(Response.OutputStream);
Response.End();
答案 0 :(得分:1)
你为什么不试试呢?
return new FileStreamResult(generatedInvoice.Stream, "application/pdf");
返回文件流,如下所示:文件。这不会向浏览器发送任何标题或任何内容,以告诉它加载另一个URL。
答案 1 :(得分:1)
无需其他观点。对于控制器操作,FileStreamResult
应该足够了(您可能希望使用[Post]
属性过滤此类操作。)