如何使用http post上传文件?德尔福2009

时间:2012-06-04 22:53:59

标签: delphi file-upload http-post delphi-2009 indy

我的目标是通过HTTP帖子上传文本文件我正在使用Delphi 2009。

比如说以下网址

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

我知道可以使用TIdHttp组件来完成。以下电话

IdHttp1.Post();

但我无法弄清楚如何设置所有内容,即指定网址并包含要发布的文件。

感谢。

1 个答案:

答案 0 :(得分:8)

TIdHTTP有两个重载版本的Post(),它们将文件名作为输入:

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;

请注意,您要发布到HTTPS网址,因此您需要事先为TIdSSLIOHandlerSocketOpenSSL媒体资源分配启用SSL的IOHandler,例如TIdHTTP.IOHandler