Sample code for 30+ languages & platforms
SQL Server

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 SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    --  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.

    DECLARE @email int
    EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    EXEC sp_OASetProperty @email, 'Subject', 'Attachment size'

    DECLARE @success int
    EXEC sp_OAMethod @email, 'AddStringAttachment', @success OUT, 'notes.txt', 'Some notes for the attachment.'

    --  Get the size in bytes of the first attachment (index 0).
    DECLARE @sz int
    EXEC sp_OAMethod @email, 'GetAttachmentSize', @sz OUT, 0

    PRINT 'Attachment 0 size (bytes) = ' + @sz

    EXEC @hr = sp_OADestroy @email


END
GO