Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Boolean iSuccess
    Integer iSz

    //  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.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "Attachment size"

    Get ComAddStringAttachment Of hoEmail "notes.txt" "Some notes for the attachment." To iSuccess

    //  Get the size in bytes of the first attachment (index 0).
    Get ComGetAttachmentSize Of hoEmail 0 To iSz
    Showln "Attachment 0 size (bytes) = " iSz


End_Procedure