Sample code for 30+ languages & platforms
Delphi ActiveX

Get an Attachment's Bytes into a BinData

See more Email Object Examples

Demonstrates the Chilkat Email.GetAttachmentBd method, which copies an attachment's binary data into a BinData object. The first attachment is at index 0. This example adds an attachment and copies its bytes into a BinData, printing the byte count.

Background: This is the safe, binary way to extract an attachment — the counterpart to the text-oriented GetAttachmentString. Because attachments are often binary (PDFs, images, archives), copying the raw bytes into a BinData preserves them exactly, ready to write to a file, hash, or pass to another API without any charset conversion that could corrupt the data.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
email: TChilkatEmail;
bd: TChilkatBinData;

begin
success := 0;

//  Demonstrates the GetAttachmentBd method, which copies an attachment's binary data into a
//  BinData object.  The first attachment is at index 0.

email := TChilkatEmail.Create(Self);
email.Subject := 'GetAttachmentBd example';

email.AddStringAttachment('notes.txt','Some notes stored in the attachment.');

//  Copy the first attachment's binary data into a BinData object.
bd := TChilkatBinData.Create(Self);
success := email.GetAttachmentBd(0,bd.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('Attachment size (bytes) = ' + IntToStr(bd.NumBytes));