[Berlin] Envoi d'une image d'un serveur vers un client
Bonjour,
Je voudrais savoir si qqu'un connaît un exemple C++ d'envoi d'une image d'un serveur REST vers un client REST ?
j'ai bien trouvé un exemple Delphi inverse : Envoi d'une image d'un client vers un serveur, mais je ne suis pas parvenu à le porter en C++. voici l'exemple :
Coté client :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| var
jsonObj: TJSONObject;
mStream: TMemoryStream;
jsonArray: TJSONArray;
aParam: TRESTRequestParameter;
begin
jsonObj := TJSONObject.Create;
try
mStream := TMemoryStream.Create;
try
imag1.Bitmap.SaveToStream(mStream);
mStream.Position := 0;
jsonArray := TDBXJSONTools.StreamToJSON(mStream, 0, mStream.Size);
finally
mStream.Free;
end;
try
jsonObj.AddPair('file', jsonArray);
except
jsonArray.Free;
raise;
end;
RESTRequest1.Params.Clear;
aParam := RESTRequest1.Params.AddItem;
aParam.Value := jsonObj.ToString;
aParam.ContentType := ctAPPLICATION_JSON;
finally
jsonObj.Free;
end;
RESTRequest1.method := rmPost
RESTRequest1.Resource := 'UploadImage';
RESTRequest1.Execute;
end; |
Coté serveur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| procedure updateUploadImage(jsonResult: TJSONObject):
var
TempStream: TStream;
begin
TempStream := TDBXJSONTools.JSONToStream(jsonResult.Get('file').JsonValue
as TJSONArray);
try
TBlobField(tblScanDetails.FieldByName('ScanDocument')).LoadFromStream(TempStream);
finally
TempStream.Free;
end;
end; |
Carmichael