procedure TForm1.WebformPost;
Const
CRLF = #13#10;
Var
httpresponse : TMemoryStream;
paramameters : Tstringstream;
Daten:
String;
var sstream : Tstringstream;
var fs : Tfilestream;
spdf :
string;
sfdd :
string;
size : integer;
begin
httpresponse := TMemoryStream.create;
fs := TFilestream.Create('
C:\Programme\test\data\text.xml', fmopenread);
sstream := TStringstream.Create('
');
try
fs.position := 0;
sStream.CopyFrom(fs,fs.size);
sStream.Position := 0;
sfdd := ssTream.DataString;
finally
freeandnil(fs);
freeandnil(sStream);
end;
fs := TFilestream.Create('
C:\Programme\test\pdf\text.pdf', fmopenread);
sstream := TStringstream.Create('
');
try
fs.position := 0;
sStream.CopyFrom(fs,fs.size);
sStream.Position := 0;
spdf := ssTream.DataString;
finally
freeandnil(fs);
freeandnil(sStream);
end;
try
Daten :=
'
-----------------------------7cf87224d2020a' + CRLF +
'
Content-Disposition: form-data; name="username"'+CRLF+ CRLF+
'
Hier kann man einen Namen eingeben'+CRLF+
'
-----------------------------7cf87224d2020a' + CRLF +
'
Content-Disposition: form-data; name="XML-Datei";'+
'
filename="text.xml"'+ CRLF + '
Content-Type: text/plain' + CRLF+ CRLF
+ sfdd +CRLF+
// Datei
'
-----------------------------7cf87224d2020a'+crlf+
'
Content-Disposition: form-data; name="PDF-Datei";'+
'
filename="text.pdf"' + CRLF +
'
Content-Type: application/octet-stream' + CRLF + CRLF +
spdf
+ CRLF + '
-----------------------------7cf87224d2020a--';
paramameters := Tstringstream.Create(Daten);
HTTP.Request.ContentType := '
multipart/form-data; boundary=---------------------------7cf87224d2020a';
HTTP.Request.ContentLength := length(Daten);
with HTTP
do begin
try
HTTP.Post( '
http://...../post.php', paramameters , httpresponse);
except
on E:
Exception do
showmessage('
Post hat nicht funktioniert: ' + E.
Message);
end;
end;
httpresponse.WriteBuffer(#0'
', 1);
showmessage(PChar(httpresponse.Memory));
except
//
end;
freeandnil(httpresponse);
freeandnil(paramameters);
end;