procedure SendFilesIndy(const PdfFile, XmlFile: string);
var HTTP: TIdHTTP;
FormData: TIdMultiPartFormDataStream;
Response: string;
begin
HTTP:= TIdHTTP.Create(nil);
FormData:= TIdMultiPartFormDataStream.Create;
try
HTTP.Request.CustomHeaders.AddValue('Accept', 'application/json');
HTTP.Request.CustomHeaders.AddValue('X-
Api-Key', 'My-
API-Key');
HTTP.Request.CustomHeaders.AddValue('Content-Type', 'multipart/form-data');
AttachSSLHandler(HTTP, [sslvTLSv1_2]); // Setzt IOHandler
if PdfFile<>'' then
FormData.AddFile('files', PdfFile, GetMIMETypeFromFile(PdfFile));
// FormData.AddFormField('files',
ExtractFileName(PdfFile), '', GetMIMETypeFromFile(PdfFile), PdfFile);
if XmlFile<>'' then
FormData.AddFile('files', XmlFile, GetMIMETypeFromFile(XmlFile));
// FormData.AddFormField('files',
ExtractFileName(XmlFile), '', GetMIMETypeFromFile(XmlFile), XmlFile);
Response:= HTTP.Post('https://<provider>/Documents/Outbox', FormData);
// ...
except
on E: EIdHTTPProtocolException do begin
OutputDebugStr(pchar('HTTP-Fehler: '+E.ErrorMessage+#13#10+'Antwort des Servers: '+E.Message));
end;
on E:
Exception do
OutputDebugStr(pchar('Allgemeiner Fehler: '+E.Message));
end;
FormData.Free;
HTTP.Free;
end;