我到处搜索,但没有找到任何解决方案。 问题是:我正在尝试从ASP.NET MVC3应用程序发送带有附件的电子邮件。问题是:附件是(或应该是)使用iTextSharp创建的pdf文件。我已经在Controller中有一个返回ActionResult的方法,这个方法产生一个pdf响应。问题是:如何从这个ActionResult获取文件?
答案 0 :(得分:1)
将生成PDF fike流的代码移动到一个方法,您可以在许多地方重新使用并在创建附件时使用
public Byte[] GetGeneratedPDF(string someParameter)
{
//Do your magic to create the PDF and return the byte array
}
现在您可以调用此方法来创建Attachement
MailMessage msg = new MailMessage();
MemoryStream stream = new MemoryStream(GetGeneratedPDF("hi"));
Attachment att1= new Attachment(stream, "stack123.pdf");
msg.Attachments.Add(att1);
答案 1 :(得分:0)
使用您在“PDF生成操作方法”中使用的相同逻辑,并将Stream
(或任何iTextSharp返回)作为附件添加到您的邮件中:
message.Attachments.Add(new Attachment(stream, "name", "mimeType"));