我有一个控制器操作,可以生成PDF并将其流式传输到客户端,但也希望有一个控制器操作,将该PDF下载操作的输出通过电子邮件发送给附件。我知道如何发送电子邮件,问题是如何使用/捕获我的电子邮件附件的MVC下载操作。
伪代码:
public PdfResult Download(int? someId)
{
var pdfBuilder = new pdfBuilder();
var pdfStream = pdfBuilder.StreamPdf(someId);
return new PdfResult("someId.pdf", "application/pdf", pdfStream);
}
public ActionResult Email(int? someId)
{
var pdfStream = View("Download", someId);
var attachment = new Attachment(pdfStream, "someId.pdf");
//...send email code
}
答案 0 :(得分:1)
您可能会尝试添加一个帮助程序类来返回PdfResult而不是在Email()方法中调用Download()。