Sample code for 30+ languages & platforms
Unicode C++

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 Unicode C++ Downloads

Unicode C++
#include <CkEmailW.h>
#include <CkBinDataW.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkEmailW email;
    email.put_Subject(L"GetAttachmentBd example");

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

    //  Copy the first attachment's binary data into a BinData object.
    CkBinDataW bd;
    success = email.GetAttachmentBd(0,bd);
    if (success == false) {
        wprintf(L"%s\n",email.lastErrorText());
        return;
    }

    wprintf(L"Attachment size (bytes) = %d\n",bd.get_NumBytes());
    }