使用sharpPDF库生成pdf内存流,然后想直接通过电子邮件发送。但是ms.Seek(....行会抛出ObjectDisposedException异常。
无法访问已关闭的流。
pdf.CreatePDF方法接受输出文件名的字符串或(out)Stream。但我猜它也关闭了流?我不习惯使用流,所以如果您能请指导应该如何完成这个任务?
可以在此处找到CreatePDF方法的sharpPDF源代码:
http://www.java2s.com/Open-Source/CSharp/PDF/SharpPDF/sharpPDF/pdfDocument.cs.htm
Public Sub SendPDF()
Dim pdf As New sharpPDF.pdfDocument("Title", "Author")
'....Generate pdf content
Dim ms As New IO.MemoryStream
pdf.CreatePDF(ms)
Dim email As New EmailService
email.Send(ms)
End Sub
Public Class EmailService
Public Sub Send(Byval ms as Stream)
ms.Seek(0, IO.SeekOrigin.Begin)
Dim atc As New Attachment(ms, "Report.pdf")
mail.Attachments.Add(atc)
'....set other email parameters
client.SendAsync(mail, mail.Subject)
End Sub
End Class
ms
的代码。 - sll