Sample code for 30+ languages & platforms
B4X

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

B4X
Dim success As Boolean = False

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

Dim mime As ChilkatMime
mime.Initialize

'  The contents of this MIME file are shown below, 
'  and is also available at https://www.chilkatsoft.com/sampleMime.txt
success = mime.LoadMimeFile("qa_data/mime/sampleMime.txt")
If success = False Then
    Log(mime.LastErrorText)
    Return
End If


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

Dim mpRelated As ChilkatMime
mpRelated.Initialize
success = mime.PartAt(1, mpRelated)
If success = False Then
    Log(mime.LastErrorText)
    Return
End If


Dim pJpg As ChilkatMime
pJpg.Initialize
success = mpRelated.PartAt(1, pJpg)
If success = False Then
    Log(mpRelated.LastErrorText)
    Return
End If



jpgBytes = pJpg.GetBodyBinary

'  If these bytes are saved to a file, it will be a valid JPG image.
Dim fac As ChilkatFileAccess
fac.Initialize
success = fac.WriteEntireFile("qa_output/starfish20.jpg", jpgBytes)
Log("success = " & success)

'  --------------------------------------------------------------
'  --------------------------------------------------------------
'  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--
'