内存中的 Indy IdMessageBuilder 附件
Indy IdMessageBuilder attachments from memory
有没有一种方法可以从内存中添加相关附件而不是使用 Indy 的 MessageBuilder 保存在磁盘上的文件?
我正在为我的电子邮件添加页脚签名,并且图像在数据库中保存为 blob 字段。
我可以用 IdMessage 做到这一点,但 MessageBuilder 使一切变得如此简单。
我正在使用 Delphi XE7 和 Indy 10。
TIdMessageBuilderAttachment
有一个 public Data: TStream
属性,并且 TIdMessageBuilderAttachments
有一个重载的 Add()
方法和 AData: TStream
参数.
如果 TStream
用于附件数据,构建器会创建一个 TIdAttachmentMemory
并将流数据复制到其中。否则,构建器会创建一个 TIdAttachmentFile
并将指定的文件名分配给它。
因此,您可以为您的 blob 数据获取 TStream
,例如从 TDataSet.CreateBlobStream()
,并从中创建电子邮件附件。
有没有一种方法可以从内存中添加相关附件而不是使用 Indy 的 MessageBuilder 保存在磁盘上的文件?
我正在为我的电子邮件添加页脚签名,并且图像在数据库中保存为 blob 字段。
我可以用 IdMessage 做到这一点,但 MessageBuilder 使一切变得如此简单。
我正在使用 Delphi XE7 和 Indy 10。
TIdMessageBuilderAttachment
有一个 public Data: TStream
属性,并且 TIdMessageBuilderAttachments
有一个重载的 Add()
方法和 AData: TStream
参数.
如果 TStream
用于附件数据,构建器会创建一个 TIdAttachmentMemory
并将流数据复制到其中。否则,构建器会创建一个 TIdAttachmentFile
并将指定的文件名分配给它。
因此,您可以为您的 blob 数据获取 TStream
,例如从 TDataSet.CreateBlobStream()
,并从中创建电子邮件附件。