1

SQL Server にバイナリ オブジェクトとして保存されている PDF ファイルを電子メールに添付したいのですが、ディスク上に (一時的な) ファイルを作成する必要はありません。

SQL Server のバイナリ フィールドから PDF ファイルをbyte[]配列として抽出する最初の手順は既に完了しています。

また、次をセットアップする手順がありますMailMessage

MailMessage aMailMessage = new MailMessage();
// set address, subject, body
aMailMessage.Attachments.Add(attachment);

私が立ち往生しているのはattachmentオブジェクトです:

Attachment attachment = new Attachment(... what goes here? ...);

のコンストラクターは、主に a (私が持っておらず、望んでいない) または a のAttachmentいずれかを受け入れます。string fileNameSystem.IO.Stream contentStream

だから私の質問は次のとおりです。特定のbyte[]配列を使用するAttachmentと、ディスク上に中間ファイルがなくても適切なオブジェクトを作成できますか?また、どのような手順を実行する必要がありますか?

前もって感謝します!

4

1 に答える 1

2

byte []をMemoryStreamに変換Attachmentし、そこからインスタンスを作成できます。次に例を示します。

ContentType ct = new ContentType(MediaTypeNames.Application.Pdf);
MemoryStream pdf = new MemoryStream(pdfContent);
Attachment data = new Attachment(pdf, ct);
于 2010-06-11T12:26:55.280 に答える