
var
LStream: TStream;
LFile: TBackendEntityValue;
begin
LStream := SaveImage;
try
BackEndFiles1.Files.UploadFile(’mypicture3.png’,LStream, ‘image/png’,LFile);
ShowMessage(’Image has been uploaded’);
Edit1.Text := LFile.DownloadURL;
The download image function is also interesting and it downloads to a TMemoryStream as well before loading it into a bitmap. The download code snippet is here:
var
LStream: TMemoryStream;
begin
LStream := TMemoryStream.Create;
try
REST.Client.TDownloadURL.DownloadRawBytes(AUrl, LStream);
Image2.Bitmap.LoadFromStream(LStream);
finally
LStream.Free;
end;
Head over and check out the full tutorial on how to upload an image using the BaaS components and then download and view the same image.
This is useful but is there a way I can do something similar without the cloud stuff? I.e. Just upload the image to my own web server
PHP or ASP.NET?
uses REST.Types;
var
jpg : TMemoryStream;
begin
if OpenDialog1.Execute then
begin
RESTClient.BaseURL := ‘https://api.parse.com’; // change to base url rest api
RESTRequestPost.Resource := ‘/1/files/pic.jpg’; // change to rest api resource
jpg := TMemoryStream.Create;
jpg.LoadFromFile(OpenDialog1.FileName);
RESTRequestPost.AddBody(jpg,TRESTContentType.ctIMAGE_JPEG);
RESTRequestPost.Execute;
end;
end;
http://php.net/manual/en/function.http-get-request-body.php
Can’t make this sample work, do i need to have a parse.com account?
what does it mean to change to url rest api, it is my server
and the rest api resource?
RESTClient.BaseURL := ‘https://api.parse.com’; // change to base url rest api
RESTRequestPost.Resource := ‘/1/files/pic.jpg’; // change to rest api resource
Regards
Jose
The same with me