开发者

How can I attach a PDF file stored as binary object in SQL Server to an email?

I'd like to attach a PDF file stored as binary object in SQL Server to an email but without creating a (temporary) file on disk.

I already have the first step to pull out the PDF file from the binary field in SQL Server as a byte[] array.

Also I have the step to setup the MailMessage:

MailMessage aMailMessage = new MailMessage();
// set address, subject, body
aMailMessage.A开发者_如何学Gottachments.Add(attachment);

Where I am stuck is the attachment object:

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

The constructor of Attachment accepts mainly either a string fileName (which I don't have and want) or a System.IO.Stream contentStream.

So my question is: With a given byte[] array is it possible to create the proper Attachment object without an intermediary file on disk and what steps do I have to do?

Thank you in advance!


You can convert byte[] to MemoryStream and create Attachment instance from it. Here is an example:

ContentType ct = new ContentType(MediaTypeNames.Application.Pdf);
MemoryStream pdf = new MemoryStream(pdfContent);
Attachment data = new Attachment(pdf, ct);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜