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;

Rispondi quotando