![]() |
Das System kann den Pfad nicht finden
Hi zusammen
Da dieses Thema nicht mehr ganz so zum Thema dieses ![]() Aktueller Stand der Dinge ist: Ich habe 2 WebactionItems, in denen ich jeweils versuche, einen Hintergrund, bzw. ein Logo zu laden:
Delphi-Quellcode:
und
procedure TWebModule1.WebModule1WebActBackgroundItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var fs : tFileStream; sFile, BGdPath : String; begin if Request.PathInfo = '/Images/background/bgblue.jpg' then begin try // E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background sFile := Format('E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background\%s', [Request.QueryFields.Values['background']]); fs := tFileStream.Create(sFile,fmOpenRead); ...
Delphi-Quellcode:
Beide Male wird mir eine Exception geworfen - die Fehlermeldung besagt in etwa das, was der Threadtitel aussagt.
procedure TWebModule1.WebModule1WebActLogoitemAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var fs : tFileStream; sFile, BGdPath : String; begin try // E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\Logo sFile := Format('E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\Logo\%s', [Request.QueryFields.Values['Logo']]); fs := tFileStream.Create(sFile,fmOpenRead); In beiden Codeschnipseln steht über der Format-Anweisung jeweils der Pfad, wie er im Explorer in der Adresszele steht - der kann daher eigentlich gar nicht falsch sein. Soeben versucht habe ich:
Delphi-Quellcode:
Das hätte eigentlich funktionieren sollen (unterhalb des Html-Ordners liegt noch einOrdner 'Logo' mit dem gesuchten Inhalt). Das Resultat war jedoch dasselbe...
sFile := Format('\Images\Logo\%s', [Request.QueryFields.Values['Logo']]);
Was läuft da falsch? Gruss Delbor |
AW: Das System kann den Pfad nicht finden
Mal so aus der Hüfte: Müsste man die Backslashes nicht escapen? Also: "C:\\testordener\\datei.jpg"
|
AW: Das System kann den Pfad nicht finden
Zitat:
a) nimm die Meldung wörtlich, ist der Pfad wirklich vorhanden? was wird an das Stream.Create wirklich übergeben? b) Dir (deinem Programm)fehlt die notwendige Berechtigung die Datei zu öffnen. c) Die Datei ist schon geöffnet (und sei es durch ein ProgrammZombie) Gruß K-H |
AW: Das System kann den Pfad nicht finden
@p80286
Um zu ermitteln was in
Delphi-Quellcode:
steht wenn der Stream erzeugt wird müsste man ja so etwas wie einen Debugger haben und den auch noch verwenden und dann auch noch lesen.
sfile
Das sind ja drei Dinge auf einmal ... und das gibt es doch nur beim Ü-Ei Ich hätte eigentlich erwartet, dass man auf diese Idee auch von selber kommt und diese Erkenntnis gleich mit in die Frage packt ... obwohl, welche Frage gibt es dann noch? |
AW: Das System kann den Pfad nicht finden
Hi zusammen
@rapante: Wäre wohl zu testen. Andrerseits enthält request.pathinfo nur einzelne Slashes (noch nicht mal Backslashes). Und mein kluges Buch weiss auch nichts davon... @ p80286: 'In etwa': Ich habe das Wörtchen 'angegebenen' ausgelassen. a) Ja, der Pfad ist vorhanden b) Wenig wahrscheinlich, aber wäre zu prüfen c) Da bliebe wohl nur ein neustart... Gruss Delbor |
AW: Das System kann den Pfad nicht finden
Es ist anscheinend sehr schwer :roll:
Delphi-Quellcode:
So besser zu verstehen?
procedure TWebModule1.WebModule1WebActBackgroundItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var fs : tFileStream; sFile, BGdPath : String; begin if Request.PathInfo = '/Images/background/bgblue.jpg' then begin try // E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background sFile := Format('E:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\DelborDataSnapServer\Images\background\%s', [Request.QueryFields.Values['background']]); /// !!! AUFMERKSAMKEIT !!!! /// Was steht JETZT in der Variablen sfile? /// !!! AUFMERKSAMKEIT !!!! fs := tFileStream.Create(sFile,fmOpenRead); ... |
AW: Das System kann den Pfad nicht finden
Kann es an dem Leerzeichen im Pfadnamen liegen?
|
AW: Das System kann den Pfad nicht finden
Zitat:
PS: Ich vermute mal, dass in
Delphi-Quellcode:
folgender Inhalt zu finden ist
sfile
Zitat:
|
AW: Das System kann den Pfad nicht finden
Hi Sir Rufo
Nachdem ich deinen Beitrag (#4) gelesen hatte, holte ich das mal nach - da steht der Pfad so drin, wie ich ihn aus dem Explorer kopiert habe. (Den auskommentierten). Also ohne Dateiangabe. Und wenn ich das richtig verstanden habe, sollte in
Delphi-Quellcode:
folgendes stehen.
[Request.QueryFields.Values['background']
Delphi-Quellcode:
, respektive eine Liste mit Namen/Werte-Paaren, wenn da mehr als eine Datei vorhanden ist.
'background=bgblue.jpg'
Gruss Delbor PS: Zitat:
|
AW: Das System kann den Pfad nicht finden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz