Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#1

curl mit @ im Dateinamen nach Pascal übersetzen

  Alt 9. Okt 2023, 19:31
Hi,

bisher hatte ich immer curl-POST abgesetzt, wo ich eine Datei übertragen musste, z.B.

curl -X POST https://pushinglimits.club/api/oauth/upload_fit_file -H 'Content-Type: multipart/form-data' -H 'Authorization: Bearer ...' -F 'file=/mnt/c/Daten/Philipp/Delphi-Projects/icTrainerBase/programData/myTrainings/Philipp_(SF6KICKR)_20231003_1941_Freies_Training_T raining.fit'

Dazu habe ich folgende Struktur aufgebaut:

Delphi-Quellcode:
Http: TNetHTTPClient;
formData: TMultipartFormData;
headers: TNetHeaders;

Http:=TNetHTTPClient.create(nil);
formData:=TMultipartFormData.create();
headers:=TNetHeaders.create();
setLength(headers, 2);
headers[0]:=TNameValuePair.create('Content-Type', 'multipart/form-data');
headers[1]:=TNameValuePair.create('Authorization', 'Bearer ' + bearer);
formData.AddFile('files[]', filename);
Http.Post('https://pushinglimits.club/api/oauth/upload_fit_file',formData,nil,headers);
Jetzt muss ich aber ein Array von files übertragen, was im curl-Befehl folgendermaßen aussieht:

curl -X POST https://pushinglimits.club/api/oauth/upload_fit_file -H 'Content-Type: multipart/form-data' -H 'Authorization: Bearer fa6af31a13e86e586b38d76317349749d0a58a46' -F 'files[]=@/mnt/c/Daten/Philipp/Delphi-Projects/icTrainerBase/programData/myTrainings/Philipp_(SF6KICKR)_20231003_1941_Freies_Training_T raining.fit'

Wie bekommt ich jetzt das '@' in den Befehl via Delphi? Einfach nur
formData.AddFile('files[]', '@'+filename); ist es nicht, dann wird die Datei nicht gefunden.

Vielleicht hat da ja jemand einen Tipp.

Grüße, Philipp
  Mit Zitat antworten Zitat