Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { FileAccess, Mime } from '@chilkat/react-native'

function chilkatExample() {
  let success = false;

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

  const mime = new Mime();

  // The contents of this MIME file are shown below, 
  // and is also available at https://www.chilkatsoft.com/sampleMime.txt
  try {
    mime.loadMimeFile('qa_data/mime/sampleMime.txt');
  } catch {
    console.log(mime.lastErrorText);
    return;
  }

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

  const mpRelated = new Mime();
  try {
    mime.partAt(1, mpRelated);
  } catch {
    console.log(mime.lastErrorText);
    return;
  }

  const pJpg = new Mime();
  try {
    mpRelated.partAt(1, pJpg);
  } catch {
    console.log(mpRelated.lastErrorText);
    return;
  }

  const jpgBytes = pJpg.getBodyBinary();

  // If these bytes are saved to a file, it will be a valid JPG image.
  const fac = new FileAccess();
  success = true;
  try {
    fac.writeEntireFile('qa_output/starfish20.jpg', jpgBytes);
  } catch {
    success = false;
  }
  console.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--
  // 
}