hallo.
ich benutze folgenden code um mit TidHTTP einen
html-fileupload (per post)
zu senden.
Delphi-Quellcode:
var
DataStream: TIdMultiPartFormDataStream;
...
FHTTP.Request.ContentType := 'multipart/form-data';
try
DataStream := TIdMultiPartFormDataStream.Create;
DataStream.AddFormField('german', '1');
DataStream.AddFormField('u', 'Upload!');
DataStream.AddFile('filecontent', filename, 'application/octet-stream');
response := FHTTP.Post(FURL, DataStream);
except
//...
end;
das klappt auch wunderbar (habs local mit nem php-script getestet).
das einzige problem ist, dass die hochgeladene datei 2 bytes
größer ist als die ursprüngliche datei. die beiden bytes sind immer
#13#10 (CRLF). an dem php-script liegt es nicht, das funzt 100%ig.
auf gut deutsch:
indy hängt diese 2 bytes bei der anfrage einfach an.
habe auch schon mit dem content-type rumgefummelt, ohne erfolg.
hat jmd ne ahnung warum und wie ich das verhindern kann?
benutze delphi7 und indy9.