Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) MedTunnel: Get Message AttachmentSee more MedTunnel ExamplesGet a specific attachment of a message. The MessageId and AttachmentId are obtained from the "Get Mailbox Messages" example. For more information, see https://server.medtunnel.com/apidocs/html/M_MedTunnelMsg_Controllers_MessageController_GetAttachment.htm
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, BinData, Http; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; success: Boolean; bd: HCkBinData; respStatusCode: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // 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 CkHttp_SetRequestHeader(http,'Authorization','PutAuthorizationTokenHere'); // The messageId and attachmentId are contained in the response from reading the mailbox messages. CkHttp_SetUrlVar(http,'messageId','989448'); CkHttp_SetUrlVar(http,'attachmentId','424857'); CkHttp_SetUrlVar(http,'setReadFlag','false'); // Download the attachment data into bd. bd := CkBinData_Create(); success := CkHttp_QuickGetBd(http,'https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}',bd); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; respStatusCode := CkHttp_getLastStatus(http); Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(CkHttp__lastHeader(http)); // For errors, the response body contains an error message instead of the actual attachment data. Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(CkBinData__getString(bd,'utf-8')); Memo1.Lines.Add('Failed.'); Exit; end; // Save the attachment data. // The attachment filename is also contained in the response from reading the mailbox messages. success := CkBinData_WriteFile(bd,'qa_output/starfish.jpg'); if (success <> True) then begin Memo1.Lines.Add('Failed to save attachment file.'); end else begin Memo1.Lines.Add('Success.'); end; CkHttp_Dispose(http); CkBinData_Dispose(bd); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.