Jump to content

Recommended Posts

Posted

Please advise how UniGUI to upload to dropbox (can incorporate CallBack for success/failure):-

1) Using OAuth2 (user interaction)

2) Using Token (no user interaction)

Thanks in advance

(*

 DFM

  object RESTClient1: TRESTClient
    Authenticator = OAuth2Authenticator1
    Params = <>
    HandleRedirects = True
    Left = 32
    Top = 440
  end
  object RESTRequest1: TRESTRequest
    Client = RESTClient1
    Params = <>
    Response = RESTResponse1
    SynchronizedEvents = False
    Left = 104
    Top = 440
  end
  object RESTResponse1: TRESTResponse
    Left = 192
    Top = 440
  end
  object OAuth2Authenticator1: TOAuth2Authenticator
    AccessToken = 'mytoken'
    ClientID = 'myclientid'
    ClientSecret = 'mysecret'
    Left = 304
    Top = 440
  end
*)

procedure TUniMainModule.UploadtoCloud(file_path: String);
var
  LURL, cloud_path, local_filename, local_file_path: String;
  upload_stream: TFileStream;
begin

  //path : the path to the file you want to update
  local_filename:= 'test.txt'; 
  cloud_path:= 'Test\';

  //file : Absolute path to the local file you want to upload
  local_file_path:= 'D:\TK\uniGUI\WebApp\Win64\Debug\test.txt';

  //change Request Settings
  RESTRequest1.Method:= TRestRequestMethod.rmPUT; // REST.Types
  RESTClient1.BaseURL:= 'https://api-content.dropbox.com/1/';

  //Using auto, automatically selects dropbox or sandbox folders
  LURL:= 'files_put/auto/'+ EncodeURIComponent(cloud_path);
  RESTRequest1.Resource:= LURL;

  //Open File to FileStream
  upload_stream:= TFileStream.Create(local_file_path, fmOpenRead);
  upload_stream.Position:= 0;

  //Set Content-Type to text/plain
  RESTRequest1.Params.AddHeader('Content-Type', 'text/plain');

  //Set Request Body to FileStream
  RESTRequest1.ClearBody;
  RESTRequest1.AddBody(upload_stream, TRESTContentType.ctTEXT_PLAIN);

  try
    RESTRequest1.Execute;
  except
    on e: Exception do begin
      ShowMessage(e.Message);
    end;
  end;

  upload_stream.Free; 

end;
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...