Delphi/C++Builder の TIdHTTPServer で POST受信
TIdHTTPServer で Postデータを受信しようと、HTMLを作成
TIdHttpServer の OnCommandGet イベントで、ARequestInfo からデータを取得しようとすると
multipart の記述で、Post を行う
PostStream へデータが入って OnCommandGet が呼び出される
TIdHttpServer の OnCommandGet イベントで、ARequestInfo からデータを取得しようとすると
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin if SameText(ARequestInfo.Command, 'POST') then begin ARequestInfo.PostStream // ← nil ARequestInfo.Params // ← こっちにデータが入っている end; end;それじゃ Getの時と同じ? PostStream の役目は何なのかということで
multipart の記述で、Post を行う
PostStream へデータが入って OnCommandGet が呼び出される
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin if SameText(ARequestInfo.Command, 'POST') then begin ARequestInfo.PostStream // ← マルチパートでデータが入っている ARequestInfo.Params // ← こちらは中身がない end; end;中身を確認してみるには
TMemoryStream(ARequestInfo.PostStream).SaveToFile('c:\post.txt');
コメント