Autor Beitrag
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: So 25.02.07 00:35 
Hallo,

ich habe es endlich geschafft einen HTTP-File-Server zu programmieren. (TIdHTTPServer)
Es funktioniert eigentlich ganz gut, bis auf den einen oder anderen Fehler der die Anwendung nicht zum stehen läst.
Naja ich will jetzt eigentlich wissen, ich habe so ein Formular.
ausblenden Quelltext
1:
2:
3:
4:
<form action="imhalt.html" method="post" enctype="multipart/form-data">
<input type="file" name="datei">
<input type="submit">
</form>

Wie kann ich dem Browser eine Anfrage zurück schicken damit er die Datei senden kann und in welchem Event ist überhaupt das Empfangen der Datei?

Die Suche hat keine erfolgreichen Ergebnisse gebracht.

Würde mich über schnelle Antwort freuen.

MfG
hui1991
LeastCosterXP
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 01.03.07 20:12 
also ich mag die indys nicht so sehr .. ich hätte ICS (www.overbyte.be) für den Webserver benutzt. Da ist unter anderem ein prima Beispiel für deine Frage dabei.

Den Code habe ich gerade nur für Synapse (synapse.ararat.cz/) parat, aber das sieht fast immer ähnlich aus, auch bei ICS und den indys ...

Eine Funktion die alles macht (braucht man eigentlich nicht, ist ja nur der Aufruf einer weiteren Prozedur):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function httppost(URL,Data: string): ansistring;
var Recv: TMemoryStream;
begin
  recv:= TMemoryStream.Create;
   if HttpPostURL(URL,Data,recv) then
      Result:= 'http post successful'
   else
       Result:= 'http post error';
  recv.Free;
end;


Und so werden die Formulardaten codiert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Data := 'Formulardaten1=value1' + '&' +
        'Formulardaten2=value2' + '&' +
         'Submit=Submit';

Form1.Status.Simpletext:= httppost('http://eineBeispieladresse.de', Data);


fertig :)

edit: ich sehe gerade du willst es als "multipart/form-data" verschicken ... ich glaube das läuft der Hase etwas anders ... aber soweit ich weiss, hat Synapse da auch schon was fertig.

edit2: Ich habe in meinem Programm auch ein wenig mit Webservern (ICS) rumgespielt, da habe ich auch mit Formularen gespielt, die Dateien versenden. Den Quelltext findet Du unter www.mehrsurfen.de

Grüße jesus
Timi-loader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 58

Win XP
Delphi 7 Personal
BeitragVerfasst: So 20.05.07 17:56 
kann das beispiel nochmal jemand für die indys machen? plz
danke

und mich speziell interessiert folgendes: wie lese ich eine datei ein und sende diese dann darüber? am besten mit prozentanzeige auch wie weit die ist

mfg

EDIT: ok uploadcode hab ich: www.delphi-forum.de/viewtopic.php?t=56700
jetzt fehlt nurnoch wie während des postens die bereits übertragenen bytes bekomme