Ciao a tutti,
Uso il componente TIdHttp che ha come IOHandler il TIdSSLIOHandlerSocketOpenSSL.
Per prima cosa mi autentico, poi faccio il POST passando il file e alcuni parametri essenziali che mi distinguono il file (titolo, descrizione, soggetto, entity).
Quando faccio il POST mi esce l'errore Connection closed gracefully e non so proprio da cosa possa dipendere.
La pagina che sto contattando riceve solo tramite metodo POST.

Mi sapete aiutare??

Questo è il codice.

codice:
procedure TfrmArchivio_doc.tbUploadDocClick(Sender: TObject);
var
 Dati : TIdMultiPartFormDataStream;
 Address : string;
 PostResult : TStringStream;
 AuthToken : string;
 IdEntity : string;
 DocType : string;
 str : String;
 ParentNode, Node : IXMLNode;
 i : integer;
begin
  inherited;
  PostResult := TStringStream.Create('');
  Dati := TIdMultiPartFormDataStream.Create;
  IdHttp1.Request.BasicAuthentication := True;
  IdHttp1.Request.Username := 'user';
  IdHttp1.Request.Password := 'password';

  IdHttp1.Request.ContentType := 'multipart/form-data';


  AuthToken := 'mvbCanaYQyGeeBpyjxyg';
  IdEntity := '461';
  Address := 'https://www.sitoweb.it/api/v1/document.json';
  DocType := 'DT:00320';

  Dati.Position := 0;
  Dati.AddFormField('entity_id', IdEntity);
  Dati.AddFormField('document[document_type_dc_identifier]',DocType);
  Dati.AddFile('document[data]','C:\Scheda_anagrafica.pdf',GetMIMETypeFromFile('C:\Scheda_anagrafica.pdf'));
  Dati.AddFormField('document[dc_subject]','Soggetto');
  Dati.AddFormField('document[dc_title]','Scheda Anagrafica');
  Dati.AddFormField('document[dc_description]','La scheda anagrafica');
  Dati.AddFormField('document[is_private]','FALSE');

 
  IdHttp1.Post(Address,Dati,PostResult);
end;