Sample code for 30+ languages & platforms
PureBasic

Get the Size of an Attachment

See more Email Object Examples

Demonstrates the Chilkat Email.GetAttachmentSize method, which returns the size in bytes of the attachment at a given zero-based index, or -1 if the index does not identify an existing attachment. This example adds an attachment and prints its size.

Background: The size reported is that of the attachment's actual (decoded) data, not its larger Base64-encoded form on the wire. Knowing per-attachment sizes is handy for enforcing limits, showing a size next to each attachment in a UI, or deciding whether to save or skip a large part. The -1 sentinel is how the method signals an out-of-range index rather than a zero-length attachment.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the GetAttachmentSize method, which returns the size in bytes of the
    ;  attachment at the given zero-based index.  It returns -1 if the index does not identify
    ;  an existing attachment.

    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkEmail::setCkSubject(email, "Attachment size")

    CkEmail::ckAddStringAttachment(email,"notes.txt","Some notes for the attachment.")

    ;  Get the size in bytes of the first attachment (index 0).
    sz.i = CkEmail::ckGetAttachmentSize(email,0)
    Debug "Attachment 0 size (bytes) = " + Str(sz)


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure