Einzelnen Beitrag anzeigen

christexel

Registriert seit: 20. Feb 2022
5 Beiträge
 
#1

TNetHTTP Ordner erstellen auf Nextcloud

  Alt 20. Feb 2022, 00:52
Hallo Zusammen,

ich schreibe eine Anwendung die Platformunabhängig sein soll für den Nextcloud Datei Upload (Win+MacOS).
Dazu habe ich jede menge Beiträge zu den Indy Komponenten gesehen, leider habe ich keine Möglichkeit gefunden diese ans laufen zu bekommen. Aufgrund der SSL. Bibliothek Problematik....
Ich nutze THTTPClient u.a. fürs hochladen, komme aber nicht weiter weil ich das
equivalent für das IndyWebDAV.DAVMakeCollection(URL); zum erstellen von Ordnern nicht kenne.
Die Embarcadero Hilfe ist leider schon eine ewigkeit Offline bzw. funktioniert leider nicht mehr.
Habt ihr ein Vorschlag für mich?

Besten Dank


Delphi-Quellcode:
URL:='https://'+varServerAdresse+'/remote.php/webdav/'+varUsername+'/'+varNeuerOrdner;
IdWebDAV.DAVMakeCollection(URL);

Hier ist die komplette Function mit den Indy Komponenten.

Delphi-Quellcode:
function OrdnerErstellen(NachOrdner, NeuerOrdner : String) : String;
var
  URL : String;
  Ergebnis : String;
begin
  Ergebnis := '';
  NachOrdner := Trim(NachOrdner);
  NeuerOrdner := Trim(NeuerOrdner);

  IdWebDAV.Request.UserName := varUsername;
  IdWebDAV.Request.Password := varPassword;
  
  IdWebDAV.Request.BasicAuthentication := true;
  IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv23; //MAC BIG SUR - FUNZT NICHT :-(
  IdSSLIOHandlerSocketOpenSSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
  IdWebDAV.IOHandler := IdSSLIOHandlerSocketOpenSSL;
  
  IdWebDAV.AllowCookies := True;
  IdWebDAV.HandleRedirects := True;
  IdWebDAV.Request.ContentType := 'application/x-www-form-urlencoded';

  URL := 'https://'+varServerAdresse+'/remote.php/webdav/'+varUsername+'/'+varNeuerOrdner;
  URL := MacSonderzeichenEncode(URL);

 IdWebDAV.DAVMakeCollection(URL);

 Ergebnis:='Ordner: '+NachOrdner+'/'+NeuerOrdner +' wurde erstellt!';
 OrdnerErstellen:=Ergebnis;
end;

Geändert von christexel (20. Feb 2022 um 01:11 Uhr) Grund: Code vergessen einzufügen
  Mit Zitat antworten Zitat