Lianja
Lianja
REST Download Binary File to Memory
See more REST Examples
Download a binary file to a Chilkat BinData object.Chilkat Lianja Downloads
llSuccess = .F.
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loRest = createobject("CkRest")
// 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
lcPathPartOfUrl = "/sample_data/sample.doc"
lcDomain = "chilkatdownload.com"
llBTls = .T.
lnPort = 443
llBAutoReconnect = .T.
llSuccess = loRest.Connect(lcDomain,lnPort,llBTls,llBAutoReconnect)
if (llSuccess <> .T.) then
? loRest.LastErrorText
release loRest
return
endif
loBd = createobject("CkBinData")
llSuccess = loRest.FullRequestNoBodyBd("GET",lcPathPartOfUrl,loBd)
if (llSuccess <> .T.) then
? loRest.LastErrorText
release loRest
release loBd
return
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 (loRest.ResponseStatusCode <> 200) then
loSbErrorText = createobject("CkStringBuilder")
loSbErrorText.AppendBd(loBd,"utf-8",0,0)
? loSbErrorText.GetAsString()
? "-- Failed."
release loRest
release loBd
release loSbErrorText
return
endif
// Save to a local file.
// Change the file path based on your operating system or needs...
llSuccess = loBd.WriteFile("c:/temp/qa_output/sample.doc")
if (llSuccess <> .T.) then
? "Failed to save to local file."
release loRest
release loBd
release loSbErrorText
return
endif
? "REST Download of MS-Word File was successful."
release loRest
release loBd
release loSbErrorText