Unicode C
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
#include <C_CkEmailW.h>
#include <C_CkBinDataW.h>
void ChilkatSample(void)
{
BOOL success;
HCkEmailW email;
HCkBinDataW bd;
success = FALSE;
// Demonstrates the GetAttachmentBd method, which copies an attachment's binary data into a
// BinData object. The first attachment is at index 0.
email = CkEmailW_Create();
CkEmailW_putSubject(email,L"GetAttachmentBd example");
CkEmailW_AddStringAttachment(email,L"notes.txt",L"Some notes stored in the attachment.");
// Copy the first attachment's binary data into a BinData object.
bd = CkBinDataW_Create();
success = CkEmailW_GetAttachmentBd(email,0,bd);
if (success == FALSE) {
wprintf(L"%s\n",CkEmailW_lastErrorText(email));
CkEmailW_Dispose(email);
CkBinDataW_Dispose(bd);
return true;
}
wprintf(L"Attachment size (bytes) = %d\n",CkBinDataW_getNumBytes(bd));
CkEmailW_Dispose(email);
CkBinDataW_Dispose(bd);
}