B4X
B4X
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 B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As ChilkatHttp
http.Initialize("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.
Dim bd As ChilkatBinData
bd.Initialize
success = http.QuickGetBd("https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}", bd)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim respStatusCode As Int = http.LastStatus
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
Log("Response Header:")
Log(http.LastHeader)
' For errors, the response body contains an error message instead of the actual attachment data.
Log("Response Body:")
Log(bd.GetString("utf-8"))
Log("Failed.")
Return
End If
' Save the attachment data.
' The attachment filename is also contained in the response from reading the mailbox messages.
success = bd.WriteFile("qa_output/starfish.jpg")
If success <> True Then
Log("Failed to save attachment file.")
Else
Log("Success.")
End If