1

我到处搜索,但没有找到任何解决方案。问题是:我正在尝试从 ASP.NET MVC3 应用程序发送带有附件的电子邮件。问题是:附件是(或应该是)使用 iTextSharp 创建的 pdf 文件。我在控制器中已经有一个返回 ActionResult 的方法,并且这个方法会产生一个 pdf 响应。问题是:如何从这个 ActionResult 中获取文件?

4

2 回答 2

1

将生成 PDF fike 流的代码移动到可以在许多地方重复使用并在创建附件时使用的方法

public Byte[] GetGeneratedPDF(string someParameter)
{
   //Do your magic to create the PDF and return the byte array

}

现在您可以调用此方法来创建附件

MailMessage msg = new MailMessage();
MemoryStream stream = new MemoryStream(GetGeneratedPDF("hi"));
Attachment att1= new Attachment(stream, "stack123.pdf");
msg.Attachments.Add(att1);
于 2012-08-09T21:24:51.773 回答
0

只需采用您在“PDF 生成操作方法”中使用的相同逻辑,并将Stream(或任何 iTextSharp 返回的)作为附件添加到您的邮件中:

message.Attachments.Add(new Attachment(stream, "name", "mimeType"));
于 2012-08-09T20:59:51.763 回答