Forum: Netzwerke
Delphi
by Björn Ole,
21. Jul 2008
Ich hab mal in meinem Code die beiden Zeilen vertauscht und es funktionerte auch ohne Probleme. Dein Fehler muss also woanders gelegen haben. Aber hauptsache, es funktionert jetzt. :wink:
Gruß, Björn
Forum: Netzwerke
Delphi
by Björn Ole,
21. Jul 2008
Der folgende Code liefert mir ein korrektes Ergebnis und sollte zudem "serververträglich" sein:
var
DataStream: TIdMultiPartFormDataStream;
Response: string;
begin
DataStream:=TIdMultiPartFormDataStream.Create;
try
IdHTTP1.Request.ContentType:='multipart/form-data';
DataStream.AddFormField('upload','1');
DataStream.AddFile('file','C:\test.gif','image/gif');
Forum: Netzwerke
Delphi
by Björn Ole,
21. Jul 2008
Habe beim Uploaden Live HTTP Headers (FF Addon) laufen lassen, hier das Ergebnis:
Hab ich das richtig verstanden und der POST-Request wird als multipart/form-data gesendet, das Bild aber als image/xyz? Wenn ja, ist ja alles in Butter. 8)
Forum: Netzwerke
Delphi
by Björn Ole,
21. Jul 2008
Wer sagt, dass der Browser 'multipart/form-data' sendet?
Habe eben ein gif hochgeladen und es wurde 'image/gif' gesendet, allgemein lässt sich höchstwahrscheinlich also sagen 'image/' + erlaubter Dateityp. Dieses Verhalten ist auch das einzig (mir) einleuchtende, denn wie sonst soll der Server überprüfen, ob es sich bei dem gesendeten Inhalt um ein erlaubtes Dateiformat handelt?
Forum: Netzwerke
Delphi
by Björn Ole,
20. Jul 2008
Dann sendet er 'image/png' oder 'image/gif'. Wo liegt das Problem?
Forum: Netzwerke
Delphi
by Björn Ole,
20. Jul 2008
Habs hinbekommen.
Der Server mag als ContentType wohl kein 'multipart/form-data', von wegen nicht unterstütztes Dateiformat.
Nimm einfach 'image/jpeg', dann gehts. ;)
Forum: Netzwerke
Delphi
by Björn Ole,
20. Jul 2008
Hi.
Dort liegt selten die Fehlerquelle. In meinen bisherigen Programmen, die POST-Requests gesendet haben (und das sind einige), brauchte ich nie diese Informationen mitzuschicken.
Hänge aber mal ein
DataStream.AddFormField('upload', '1');an. Das wird zumindest beim manuellen Senden mitgeschickt.
Gruß, Björn