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
(PureBasic) REST Download Binary File to MemorySee more REST ExamplesDownload a binary file to a Chilkat BinData object.
IncludeFile "CkBinData.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkRest.pb" Procedure ChilkatExample() ; This requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. rest.i = CkRest::ckCreate() If rest.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; We're going to download a sample MS-Word doc file. ; The URLs of our MS-Word sample documents are: ; https://www.chilkatdownload.com/sample_data/sample.doc ; https://www.chilkatdownload.com/sample_data/sample.docx pathPartOfUrl.s = "/sample_data/sample.doc" domain.s = "chilkatdownload.com" bTls.i = 1 port.i = 443 bAutoReconnect.i = 1 success.i = CkRest::ckConnect(rest,domain,port,bTls,bAutoReconnect) If success <> 1 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) ProcedureReturn EndIf bd.i = CkBinData::ckCreate() If bd.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkRest::ckFullRequestNoBodyBd(rest,"GET",pathPartOfUrl,bd) If success <> 1 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) CkBinData::ckDispose(bd) ProcedureReturn EndIf ; A 200 response is expected for actual success. ; If we don't get a 200 response, then the response body was not actually ; the file data, but it was text containing error information. If CkRest::ckResponseStatusCode(rest) <> 200 sbErrorText.i = CkStringBuilder::ckCreate() If sbErrorText.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppendBd(sbErrorText,bd,"utf-8",0,0) Debug CkStringBuilder::ckGetAsString(sbErrorText) Debug "-- Failed." CkRest::ckDispose(rest) CkBinData::ckDispose(bd) CkStringBuilder::ckDispose(sbErrorText) ProcedureReturn EndIf ; Save to a local file. ; Change the file path based on your operating system or needs... success = CkBinData::ckWriteFile(bd,"c:/temp/qa_output/sample.doc") If success <> 1 Debug "Failed to save to local file." CkRest::ckDispose(rest) CkBinData::ckDispose(bd) CkStringBuilder::ckDispose(sbErrorText) ProcedureReturn EndIf Debug "REST Download of MS-Word File was successful." CkRest::ckDispose(rest) CkBinData::ckDispose(bd) CkStringBuilder::ckDispose(sbErrorText) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.