1

どこでも検索しましたが、解決策は見つかりませんでした。問題は、ASP.NET MVC3 アプリケーションから添付ファイル付きの電子メールを送信しようとしています。問題は、添付ファイルが iTextSharp で作成された pdf ファイルである (またはそうあるべきである) ことです。ActionResult を返すコントローラーに既にメソッドがあり、このメソッドは pdf 応答を生成します。問題は、この ActionResult からファイルを取得するにはどうすればよいかということです。

4

2 に答える 2

1

PDF ファイル ストリームを生成するコードを、多くの場所で再利用できるメソッドに移動し、添付ファイルの作成時にそれを使用します。

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 に答える