636*_*465 4 c# pdf bytearray email-attachments
我正在使用PDF Sharp库来创建自定义PDF.我希望能够将此自定义PDF作为附件通过电子邮件发送,而无需先保存本地副本.我试图实现这一点的方法是将生成的PDF Sharp文档转换为字节数组,如下所示:
byte[] pdfBuffer = null;
using (MemoryStream ms = new MemoryStream())
{
document.Save(ms, false);
pdfBuffer = ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
这部分似乎正在工作,但是我遇到问题的部分是将字节数组转换回PDF文件.使用下面的代码将PDF附加到电子邮件中,但是当附件打开时,它是一个空白文件.这是我用来做的代码:
//Add PDF attachment.
Stream stream = new MemoryStream(attachmentData);
mailMessage.Attachments.Add(new Attachment(stream, attachmentFilename, "application/pdf"));
//Setup up SMTP details.
smtpClient = new SmtpClient("************.com");
smtpUserInfo = new System.Net.NetworkCredential("****@****.com", "*****", "*****.com");
smtpClient.Credentials = smtpUserInfo;
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
//Send the email.
smtpClient.Send(mailMessage);
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释一种正确的方法将PDF流转换回有效的PDF并发送是一个电子邮件附件?
当我将流转换回PDF时文档显示为空白的原因是,在使用时document.Save(memoryStream, false);,必须调用document.Close();之后,即:
document.Save(memoryStream, false);
document.Close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7532 次 |
| 最近记录: |