Visual FoxPro
Visual FoxPro
Shopware Upload Media (JPG File)
See more Shopware Examples
Demonstrates how to upload a media file to a Shopware shop.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL loSbFileData
LOCAL loBdFileData
LOCAL loJson
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lnDataId
LOCAL lcDataLocation
lnSuccess = 0
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat.Http')
loHttp.Login = "api_username"
loHttp.Password = "api_key"
loHttp.BasicAuth = 1
* Use this online tool to generate code from sample JSON:
* Generate Code to Create JSON
* The following JSON is sent in the request body.
* {
* "file": "data:image/jpeg;base64,BASE64_DATA_HERE",
* "album": -9,
* "description": "image description",
* "userId": 5,
* "name": "my_image"
* }
loSbFileData = CreateObject('Chilkat.StringBuilder')
loSbFileData.Append("data:image/jpeg;base64,")
loBdFileData = CreateObject('Chilkat.BinData')
lnSuccess = loBdFileData.LoadFile("qa_data/jpg/starfish.jpg")
IF (lnSuccess = 0) THEN
? "Failed to load file."
RELEASE loHttp
RELEASE loSbFileData
RELEASE loBdFileData
CANCEL
ENDIF
loSbFileData.Append(loBdFileData.GetEncoded("base64"))
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("file",loSbFileData.GetAsString())
loJson.UpdateInt("album",-9)
loJson.UpdateString("description","image description")
loJson.UpdateInt("userId",5)
loJson.UpdateString("name","my_image")
loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://my-shopware-shop.com/api/media",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loSbFileData
RELEASE loBdFileData
RELEASE loJson
RELEASE loResp
CANCEL
ENDIF
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0
? "Response Body:"
? loJResp.Emit()
* A 201 response code indicates success.
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
? "Response Header:"
? loResp.Header
? "Failed."
RELEASE loHttp
RELEASE loSbFileData
RELEASE loBdFileData
RELEASE loJson
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp
CANCEL
ENDIF
* Sample JSON response:
* (Sample code for parsing the JSON response is shown below)
* {
* "success": true,
* "data": {
* "id": 6862,
* "location": "http:\/\/my-shopware-shop.com\/api\/media\/6862"
* }
* }
* Sample code for parsing the JSON response...
* Use the following online tool to generate parsing code from sample JSON:
* Generate Parsing Code from JSON
lnSuccess = loJResp.BoolOf("success")
lnDataId = loJResp.IntOf("data.id")
lcDataLocation = loJResp.StringOf("data.location")
RELEASE loHttp
RELEASE loSbFileData
RELEASE loBdFileData
RELEASE loJson
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp