1
我有一個控制器操作,可以生成PDF並將其傳輸到客戶端,但也希望有一個控制器操作,將該PDF下載操作的輸出作爲附件發送。我知道如何發送電子郵件,問題是我如何使用/捕獲MVC下載動作來處理我的電子郵件附件。ASP.NET 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
}
如果你已經擁有了你的`PdfBuilder`,你爲什麼不在發送郵件時再打電話......?如果你不想複製代碼,只需將pdf生成代碼重構爲第三種方法即可。 – rsenna 2011-02-07 18:26:19
你用什麼發送電子郵件,需要什麼附件。那是需要物理文件還是文件流? – 2011-02-07 18:48:49