How do I upload a file using http post? Delphi 2009

11,598

TIdHTTP has two overloaded versions of Post() that take a filename as input:

var
  Response: String;

Response := IdHTTP1.Post('https://www.example.com/ex/exampleAPI.asmx/Process', 'c:\filename.txt');

.

var
  Response: TStream;

Response := TMemoryStream.Create;
IdHTTP1.Post('https://www.example.com/ex/exampleAPI.asmx/Process', 'c:\filename.txt', Response);
...
Response.Free;

Note that you are posting to an HTTPS URL, so you need to first assign an SSL-enabled IOHandler, such as TIdSSLIOHandlerSocketOpenSSL, to the TIdHTTP.IOHandler property beforehand.

Share:
11,598
Trevor
Author by

Trevor

[email protected]

Updated on June 30, 2022

Comments

  • Trevor
    Trevor almost 2 years

    My goal is to upload a text file via HTTP post I am using Delphi 2009.

    Say for example to the following URL

    https://www.example.com/ex/exampleAPI.asmx/Process

    I understand it can be done by using the TIdHttp component. And the following call

    IdHttp1.Post();
    

    But I cant figure out how to set up everything i.e. specifying the url and including the file to be posted.

    Thanks.