AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Problem bei FileUpload to Azure - debugger funzt - code nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei FileUpload to Azure - debugger funzt - code nicht

Ein Thema von schorsch666 · begonnen am 20. Okt 2022 · letzter Beitrag vom 1. Nov 2022
Antwort Antwort
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#1

Problem bei FileUpload to Azure - debugger funzt - code nicht

  Alt 20. Okt 2022, 10:08
Moin @ALL,
wenn ich im restdebugger "PUT", meine URL, meine header (parameter/hinzufügen), den inhaltstyp auf "text/html" und in den benutzerdef. rumpf den inhalt der datei einfüge/setze, dann bekomme ich einen 201 "created" und die datei wird anstandslos erstellt.

wenn ich aber nun die komponenten aus dem debugger kopiere und in eine leere anwendung einfüge und einen execute ausführe, dann wird die datei nicht neu erstellt, sondern jedes mal upgedatet - also ändert sich nur der datetimestamp. also habe ich mir die params im request angeschaut und da ist ein parameter mit name = "body... (denke HEX-wert - zb "bodyF9DD68B493F6415697EA48A0D8B2214C"), value = "der dateiinhalt" und kind = pkRequestBody drin.

also denke ich, dass das an dem "name" liegt?? jedenfalls habe ich dann versucht den wert einfach mal manuell zu aendern - aber dann bekomme ich nen 400 - wrong parameter - und wenn ich ihn einfach leer lasse, ebenfalls.

bsp.:
// header:
RESTRequest.Params.AddItem('x-ms-blob-type','BlockBlob',TRESTRequestParameterKind.pkHTTP HEADER,[poDoNotEncode]);
RESTRequest.Params.AddItem('Content-Length',Length(GVstream.DataString).ToString,TREST RequestParameterKind.pkHTTPHEADER,[poDoNotEncode]);

// body:
RESTRequest.Params.AddItem('bodyF9DD68B493F6415697 EA48A0D8B2214B',GVstream.DataString,TRESTRequestPa rameterKind.pkREQUESTBODY,[poDoNotEncode]);

(wenn ich diesen code aufrufe - aber mit anderem body-inhalt und anderem dateinamen - wird trotzdem immer die alte datei ueberschrieben (in der URL steht uebrigens der dateiname))

also habe ich es mal mit:
RESTRequest.Params.AddBody(GVstream.DataString,TRe stContentType.ctTEXT_HTML);
versucht, aber leider selbes problem

wie gesagt, mit dem debugger funktionierts. hat jemand ne idee?? und liegt das ueberhaupt an dem "hex-wert"? ist bestimmt nur ne kleinigkeit..

danke vorab und bleibt gesund

de schorsch...
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.040 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem bei FileUpload to Azure - debugger funzt - code nicht

  Alt 20. Okt 2022, 10:27
ist bestimmt nur ne kleinigkeit..
Den solltest du dir patentieren lassen

OK, zeig doch bitte mal den kompletten Code (ggf. mit obfuskierten Inhalten). Nur die kurzen Auszüge machen das Verstehen unnötig schwer.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#3

AW: Problem bei FileUpload to Azure - debugger funzt - code nicht

  Alt 20. Okt 2022, 10:47
Moin und hmmm... - was meinst du denn mit "kompletten code"?
eigentlich lade ich nur die datei in einen stringstream (GVstream), setze die params (versch. versionen) und execute.

RESTRequest.Params.Clear;
RESTRequest.Params.AddItem('x-ms-blob-type','BlockBlob',TRESTRequestParameterKind.pkHTTP HEADER,[poDoNotEncode]);
RESTRequest.Params.AddItem('Content-Length',Length(GVstream.DataString).ToString,TREST RequestParameterKind.pkHTTPHEADER,[poDoNotEncode]);

// RESTRequest.Params.AddItem('bodyF9DD68B493F6415697 EA48A0D8B2214B',GVstream.DataString,TRESTRequestPa rameterKind.pkREQUESTBODY,[poDoNotEncode]);
// RESTRequest.Params.AddBody(GVstream.DataString);
// RESTRequest.Params.AddBody(GVstream.DataString,TRe stContentType.TEXT_HTML);
RESTRequest.Params.AddBody(GVstream.DataString,TRe stContentType.ctAPPLICATION_JSON);

RESTRequest.Execute;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.040 Beiträge
 
Delphi 12 Athens
 
#4

AW: Problem bei FileUpload to Azure - debugger funzt - code nicht

  Alt 20. Okt 2022, 11:57
Warum verwendest du RESTRequest.Params anstatt der Addxxx-Methoden in TRESTRequest? Dann könntest du z.B. direkt AddFile verwenden.

Andererseits kann ich aus dem Code-Part nicht erkennen, wie die Daten auf dem Server ausgewertet werden. So wäre eine Beschreibung wichtig, woran der Server erkennt, dass es eine neue Datei sein soll und wann ein Update.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#5

AW: Problem bei FileUpload to Azure - debugger funzt - code nicht

  Alt 20. Okt 2022, 14:14
erstmal Danke. Die .add-methoden werde ich nochmal testen.

problem ist halt, dass wir keinen grossen einfluss bzw. zugriffsrechte auf deren cloud haben. also habe ich jetzt erstmal einen link bekommen, um zu testen, welche files ueberhaupt im "directory", von wann, etc. sind, damit ich "die" nicht dauernd nerven muss (kommt halt im xml-format).

also, ich versuche das mal morgen und winke ggf. wieder hektsich

tks, de schorsch..
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#6

AW: Problem bei FileUpload to Azure - debugger funzt - code nicht

  Alt 20. Okt 2022, 14:42
ich nochmal,
"addFile" will aber einen dateinamen haben - und den brauche ich doch nicht, denn der kommt in die URL. Und wo kommt dann der eigentliche dateiinhalt rein?

also eigentlich wollte ich ja nur das nachbilden, was der restdebugger auch macht, denn damit klappts ja.

du kannst ja einfach mal im restdebugger "PUT" waehlen, den inhaltstyp auf "text/html" stellen und in den benutzerdef. rumpf den inhalt einer textdatei einfuegen. dann die kompos in ne leere app kopieren und im request die params ansehen.. (wenn du magst) also was bedeutet dadrin der "name"?

so, erstmal feierabend..

LG

de schorsch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz