Visual FoxPro
Visual FoxPro
REST Download Binary File to Memory
See more REST Examples
Download a binary file to a Chilkat BinData object.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loRest
LOCAL lcPathPartOfUrl
LOCAL lcDomain
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loBd
LOCAL loSbErrorText
lnSuccess = 0
* This requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loRest = CreateObject('Chilkat.Rest')
* 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"
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
lnSuccess = loRest.Connect(lcDomain,lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
loBd = CreateObject('Chilkat.BinData')
lnSuccess = loRest.FullRequestNoBodyBd("GET",lcPathPartOfUrl,loBd)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loBd
CANCEL
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('Chilkat.StringBuilder')
loSbErrorText.AppendBd(loBd,"utf-8",0,0)
? loSbErrorText.GetAsString()
? "-- Failed."
RELEASE loRest
RELEASE loBd
RELEASE loSbErrorText
CANCEL
ENDIF
* Save to a local file.
* Change the file path based on your operating system or needs...
lnSuccess = loBd.WriteFile("c:/temp/qa_output/sample.doc")
IF (lnSuccess <> 1) THEN
? "Failed to save to local file."
RELEASE loRest
RELEASE loBd
RELEASE loSbErrorText
CANCEL
ENDIF
? "REST Download of MS-Word File was successful."
RELEASE loRest
RELEASE loBd
RELEASE loSbErrorText