Thema: Delphi Indy und PHP-Post

Einzelnen Beitrag anzeigen

m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Indy und PHP-Post

  Alt 9. Jul 2007, 20:27
Hallo halinchen,

ich habe dies so gelöst - aber achtung, ich lade in meinem Fall eine Datei hoch.
Du möchtest vermutlich nur einzelne Felder hinzufügen.

Einfach ein wenig reinarbeiten und anpassen. (ja... es wäre auch mit nicht so viel drum herum gegangen ;)

War eine quick and dirty-Implementierung

Ich hoffe geholfen zu haben.

Delphi-Quellcode:
var
  FormDataStream : TIdMultiPartFormDataStream;
  StringStream: TStringStream;
  PostVars: TStringList;
  FileStream: TFileStream;
  cUrl : string;
  cFilename : string;
  nIdx : integer;
  cOperation,
  cValue : string;
  IdHTTP : TIdHTTP;
begin
  IdHTTP := CreateIdHTTP;
  cFilename := FFilename;
  PostVars := TStringList.Create;
  StringStream := TStringStream.Create('');
  FileStream := TFileStream.Create(cFilename, fmOpenRead or fmShareDenyWrite);
  FormDataStream := TIdMultiPartFormDataStream.Create;
  try
    StringStream.CopyFrom(FileStream, FileStream.Size);
    // cUrl := 'http://ltwollert/plannerCentralOl/upload_test.php';
    cUrl := FUploadURL;
    FormDataStream.AddFile('file', cFilename, 'multipart/form-data');
    //FormDataStream.AddFormField('description', Filename);
    cOperation := 'operation';
    cValue := 'appts';
    FormDataStream.AddFormField(cOperation, cValue);
    //FormDataStream.AddFormField('operation', 'appts');
    FHttpResult := IdHTTP.Post(cUrl, FormDataStream);;
  finally
    StringStream.Free;
    PostVars.Free;
    FileStream.Free;
    FormDataStream.Free;
  end;
end;
Grüße
Michael
Michael
*Im Auftrag ewiger Jugend und Glückseligkeit*
  Mit Zitat antworten Zitat