Sample code for 30+ languages & platforms
React Native

MedTunnel: Get Message Attachment

See more MedTunnel Examples

Get a specific attachment of a message. The MessageId and AttachmentId are obtained from the "Get Mailbox Messages" example.

Chilkat React Native Downloads

React Native
import { BinData, Http } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  // Implements the following CURL command:

  // curl -X GET -k 
  //         -H "Authorization:PutAuthorizationTokenHere" 
  //         https://server.medtunnel.com/medtunnelmsg/api/Message/GetAttachment?messageid=989448&attachmentid=424857&setreadflag=false

  // Use the following online tool to generate HTTP code from a CURL command
  // Convert a cURL Command to HTTP Source Code

  http.setRequestHeader('Authorization', 'PutAuthorizationTokenHere');

  // The messageId and attachmentId are contained in the response from reading the mailbox messages.
  http.setUrlVar('messageId', '989448');
  http.setUrlVar('attachmentId', '424857');
  http.setUrlVar('setReadFlag', 'false');

  // Download the attachment data into bd.
  const bd = new BinData();
  try {
    await http.quickGetBdAsync('https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}', bd);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const respStatusCode = http.lastStatus;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(http.lastHeader);
    // For errors, the response body contains an error message instead of the actual attachment data.
    console.log('Response Body:');
    console.log(bd.getString('utf-8'));
    console.log('Failed.');
    return;
  }

  // Save the attachment data.
  // The attachment filename is also contained in the response from reading the mailbox messages.
  try {
    bd.writeFile('qa_output/starfish.jpg');
    console.log('Success.');
  } catch {
    console.log('Failed to save attachment file.');
  }
}