AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Das System kann den Pfad nicht finden
Thema durchsuchen
Ansicht
Themen-Optionen

Das System kann den Pfad nicht finden

Ein Thema von Delbor · begonnen am 5. Jul 2016 · letzter Beitrag vom 6. Jul 2016
 
nahpets
(Gast)

n/a Beiträge
 
#11

AW: Das System kann den Pfad nicht finden

  Alt 5. Jul 2016, 14:40
@nahpets

Da der erste Beitrag wohl schon zu lange zurück liegt, hier einmal der Beitrag als Komplett-Quote:

Bitte achte auf die 5. Zeile im ersten Quelltext-Abschnitt. Das stammt nicht von mir, sondern (steht da im Zitat-Block) und kann von jedermann im ersten Beitrag dieses Threads nachgelesen werden.
Hi zusammen
Da dieses Thema nicht mehr ganz so zum Thema dieses Threads passt, mache ich einen neuen auf.
Aktueller Stand der Dinge ist: Ich habe 2 WebactionItems, in denen ich jeweils versuche, einen Hintergrund, bzw. ein Logo zu laden:

Delphi-Quellcode:
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.jpgthen
  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);
...
und
Delphi-Quellcode:
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);
Beide Male wird mir eine Exception geworfen - die Fehlermeldung besagt in etwa das, was der Threadtitel aussagt.
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:
sFile := Format('\Images\Logo\%s', [Request.QueryFields.Values['Logo']]); Das hätte eigentlich funktionieren sollen (unterhalb des Html-Ordners liegt noch einOrdner 'Logo' mit dem gesuchten Inhalt). Das Resultat war jedoch dasselbe...
Was läuft da falsch?

Gruss
Delbor
Sorry, aber die 5. Zeile ist inhaltlich Blödsinn, das ist keine Pathinfo, wie sie in einer Web-Applikation genutzt wird. Da wird ein konkreter Dateiname abgefragt.

Und wenn in 'ner Webseite irgendwo eine IMG-Tag steht, dann baut der Browser daraus eine URL zusammen, mit der er beim Webserver anfragt, ob er den Inhalt bekommen kann.

Wenn in der HTML-Datei irgendwo sowas steht:
Code:
<img alt="DelborPunktCH" src="./Images/jpeg150/DSC_5751.jpg"/>
dann ist das keine Pathinfo, sondern ein relativer Pfad zu einer angeforderten Datei.

Diese Datei sollte dann vom Webserver aus gesehen im Unterverzeichnis Images und dann im darunterliegenden Verzeichnis jpeg150 liegen. Dafür ist die Nutzung der PathInfo irrelevant.

Nehmen wir mal eine Web-Anwendung, die irgendwo in der Welt liegt und die mit einer ISAPI-DlL arbeitet:

Die URL sei:
Code:
http://Servername.de/WebMenu.dll/Images?Image=Background.jpg
Der Webserver erfährt hier also, dass er die DLL WebMenu zu verwenden hat. Die DLL schaut nun, welche PathInfo sie verwenden soll. Dies wäre Images. In der Behandlungsroutine für die PathInfo Images kann nun über Request.QueryFields.Values['Image'] der Wert BackGround.jpg in Erfahrung gebracht werden.

In der von mir geposteten Routine könnte damit dann die Datei BackGround.jpg ausgeliefert werden.

In der HTML-Datei müsste das Tag dann so aussehen:
Code:
<img src="http://Servername.de/WebMenu.dll/Images?Image=Background.jpg">
Übertragen auf eine Web-Applikation wäre das vermutlich dann
Code:
<img src="http://localhost:8080/Images?Image=Background.jpg">
Bei 'ner WebApplikation sollte aber dashier auch gehen:
Code:
<img src="Images?Image=Background.jpg">
Bin mir momentan nicht sicher, ob es eventuell
Code:
<img src="/Images?Image=Background.jpg">
heißen muss.
  Mit Zitat antworten Zitat
 


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 00:01 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