Sample code for 30+ languages & platforms
Visual FoxPro

Get the Binary Bytes of a MIME Body or Sub-Part Body

See more MIME Examples

Demonstrates the GetBodyBinary method. The MIME data file used in this example is available at MIME Sample File.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMime
LOCAL loMpRelated
LOCAL loPJpg
LOCAL loJpgBytes
LOCAL loFac

lnSuccess = 0

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loMime = CreateObject('Chilkat.Mime')

* The contents of this MIME file are shown below, 
* and is also available at https://www.chilkatsoft.com/sampleMime.txt
lnSuccess = loMime.LoadMimeFile("qa_data/mime/sampleMime.txt")
IF (lnSuccess = 0) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    CANCEL
ENDIF

* The MIME used in this example has the following nested structure
* 
* multipart/alternative
*     text/plain
*     multipart/related
*         text/html
*         image/jpeg
* 

* This example will get the JPG image data bytes.

loMpRelated = CreateObject('Chilkat.Mime')
lnSuccess = loMime.PartAt(1,loMpRelated)
IF (lnSuccess = 0) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    RELEASE loMpRelated
    CANCEL
ENDIF

loPJpg = CreateObject('Chilkat.Mime')
lnSuccess = loMpRelated.PartAt(1,loPJpg)
IF (lnSuccess = 0) THEN
    ? loMpRelated.LastErrorText
    RELEASE loMime
    RELEASE loMpRelated
    RELEASE loPJpg
    CANCEL
ENDIF

loJpgBytes = loPJpg.GetBodyBinary()

* If these bytes are saved to a file, it will be a valid JPG image.
loFac = CreateObject('Chilkat.FileAccess')
lnSuccess = loFac.WriteEntireFile("qa_output/starfish20.jpg",loJpgBytes)
? "success = " + STR(lnSuccess)

* --------------------------------------------------------------
* --------------------------------------------------------------
* The MIME sample file loaded at the beginning of this example
* contains the following MIME:

* Subject: Test email.
* Content-Type: multipart/alternative;
* 	boundary="------------DB171738719FB06D67DEBAA0"
* MIME-Version: 1.0
* 
* --------------DB171738719FB06D67DEBAA0
* Content-Type: text/plain; charset="utf-8"; format=flowed
* Content-Transfer-Encoding: 7bit
* 
* This is a test.
* 
* --------------DB171738719FB06D67DEBAA0
* Content-Type: multipart/related;
* 	boundary="------------A940F1230E6F0105F03DB2CB"
* 
* --------------A940F1230E6F0105F03DB2CB
* Content-Type: text/html; charset="utf-8"
* Content-Transfer-Encoding: 8bit
* 
* <html><head>
* <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
*   </head>
*   <body bgcolor="#FFFFFF" text="#000000">
*     <p>This is a test.&nbsp; <img src="cid:part1.E16AE3B4.1505C436@chilkatsoft.com" height="20" width="20"></p>
*   </body>
* </html>
* 
* --------------A940F1230E6F0105F03DB2CB
* Content-Type: image/jpeg; name="starfish20.jpg"
* Content-Transfer-Encoding: base64
* Content-ID: <part1.E16AE3B4.1505C436@chilkatsoft.com>
* Content-Disposition: inline; filename="starfish20.jpg"
* 
* /9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
* NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
* YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
* Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
* AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
* NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
* pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
* Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
* enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
* xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
* DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
* AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
* QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
* EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
* 
* --------------A940F1230E6F0105F03DB2CB--
* 
* --------------DB171738719FB06D67DEBAA0--
* 

RELEASE loMime
RELEASE loMpRelated
RELEASE loPJpg
RELEASE loFac