Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL loBd
LOCAL lnRespStatusCode
lnSuccess = 0
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat.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
loHttp.SetRequestHeader("Authorization","PutAuthorizationTokenHere")
* The messageId and attachmentId are contained in the response from reading the mailbox messages.
loHttp.SetUrlVar("messageId","989448")
loHttp.SetUrlVar("attachmentId","424857")
loHttp.SetUrlVar("setReadFlag","false")
* Download the attachment data into bd.
loBd = CreateObject('Chilkat.BinData')
lnSuccess = loHttp.QuickGetBd("https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}",loBd)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loBd
CANCEL
ENDIF
lnRespStatusCode = loHttp.LastStatus
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
? "Response Header:"
? loHttp.LastHeader
* For errors, the response body contains an error message instead of the actual attachment data.
? "Response Body:"
? loBd.GetString("utf-8")
? "Failed."
RELEASE loHttp
RELEASE loBd
CANCEL
ENDIF
* Save the attachment data.
* The attachment filename is also contained in the response from reading the mailbox messages.
lnSuccess = loBd.WriteFile("qa_output/starfish.jpg")
IF (lnSuccess <> 1) THEN
? "Failed to save attachment file."
ELSE
? "Success."
ENDIF
RELEASE loHttp
RELEASE loBd