Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

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

http = Chilkat::CkHttp.new()

# 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.
bd = Chilkat::CkBinData.new()
success = http.QuickGetBd("https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}",bd)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

respStatusCode = http.get_LastStatus()
print "Response Status Code = " + respStatusCode.to_s() + "\n";
if (respStatusCode >= 400)
    print "Response Header:" + "\n";
    print http.lastHeader() + "\n";
    # For errors, the response body contains an error message instead of the actual attachment data.
    print "Response Body:" + "\n";
    print bd.getString("utf-8") + "\n";
    print "Failed." + "\n";
    exit
end

# 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)
    print "Failed to save attachment file." + "\n";
else
    print "Success." + "\n";
end