Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Per indy mehre Datein als Multipart über https versenden.

  Alt 14. Feb 2018, 11:53
Hallo Zusammen,

ich verwende die folgende Methode um eine Datei per HTTPS zu versenden. Die Datei wird als HTTP-Payload in Binärformat gesendet. Jetzt benötige ich eine Möglichkeit mehrere Bilder an einen fremden Server zu versenden der die Bilder nicht als HTTP-Payload empfangen kann sondern als Multipart.

Der Server ist also nicht von mir. Ich muss Multipart verwenden!

Hat mir jemand bitte einen Hinwies wie das geht?


Delphi-Quellcode:
function TForm3.SendFileViaHTTPS(aFile:String):String;
var aResponceStream: TMemoryStream;
    aFileName:string;
begin
  aFileName := ExtractFileName(aFile);

  IdHTTP1.Request.BasicAuthentication := True;
  IdHTTP1.Request.Username := 'Username';
  IdHTTP1.Request.Password := 'Password';

  aResponceStream := TMemoryStream.Create();
  aResponceStream.Clear;
  aResponceStream.Seek(0,soFromBeginning);
  try
    try
      IdHTTP1.Post(Format('https://services.irgendwas.de/upload-api/upload/%s',[aFileName]), aFile, aResponceStream);
      aResponceStream.Seek(0,soFromBeginning);
      Memo1.Lines.LoadFromStream(aResponceStream);
      Memo1.Lines.Add(IdHTTP1.ResponseCode.ToString);
    except
      on E: EIdHTTPProtocolException do
      begin
        aResponceStream.Seek(0,soFromBeginning);
        Memo1.Lines.LoadFromStream(aResponceStream);
        Memo1.Lines.Add(IdHTTP1.ResponseCode.ToString);
      end;
    end;

  finally
    aResponceStream.Free;
  end;

end;
Gruß Kostas
  Mit Zitat antworten Zitat