How do I upload a file using http post? Delphi 2009
delphi, delphi-2009, file-upload, http-post, indy
Solution
`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.
Problem
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.