Einzelnen Beitrag anzeigen

DocBorn

Registriert seit: 7. Jul 2006
Ort: Bonn
26 Beiträge
 
#2

Re: Formular ausfüllen u. abschicken

  Alt 9. Dez 2006, 10:08
ich bin gerade nicht sicher, was die indys so können, aber ich denke mal du willst nicht wirklich das Formular (in irgendeinem Browser o.Ä.) ausfüllen sondern die URL so aufrufen als hättest du das Formular aufgerufen. Wenn dem so ist dann musst du folglich einen POST-Request machen (method=post"), des weiteren willst du hier ja auchnoch eine Datei mitschicken und dazu muss das Formular noch encodiert werden. Genau das gleiche Problem habe ich vor einer Weile auch mal gelöst *such*
Also dazu erstmal die MsMultiPartFormData.pas einbinden (Anhang) und dann kannst du was in dem Stil machen:

Delphi-Quellcode:
var
  MultiPartFormDataStream: TMsMultiPartFormDataStream;
  HttpServer, Response: String;
begin

  // Objekte instanzieren
  MultiPartFormDataStream := TMsMultiPartFormDataStream.Create;

  try
      // Content-Type bestimmen
      httpMain.Request.ContentType := MultiPartFormDataStream.RequestContentType;

      // andere Formular-Felder übergeben
      MultiPartFormDataStream.AddFormField('EinAnderesFeld', 'dadum');

      // Datei laden
      MultiPartFormDataStream.AddFile('datei', 'C:\autoexec.bat', '');

      // Anfrage vorbereiten
      MultiPartFormDataStream.PrepareStreamForDispatch; { You must make sure you call this method *before* sending the stream }
      MultiPartFormDataStream.Position := 0;

      try

        // Anfrage stellen
        Response := httpMain.Post('http://www.microsoft.com/test.php, MultiPartFormDataStream);

except
// Upload fehlgeschlagen
end;
end;
finally
MultiPartFormDataStream.Free;
end;
end;
viel Erfolg.

Lg Lars
Angehängte Dateien
Dateityp: pas msmultipartformdata_495.pas (3,6 KB, 47x aufgerufen)
  Mit Zitat antworten Zitat