AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi HTTP Server Home Directory Auswählen
Thema durchsuchen
Ansicht
Themen-Optionen

HTTP Server Home Directory Auswählen

Ein Thema von hedie · begonnen am 26. Jul 2006 · letzter Beitrag vom 27. Jul 2006
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

HTTP Server Home Directory Auswählen

  Alt 26. Jul 2006, 15:00
Hallo

Wie Kann ich beim Indy HTTP Server das Ins Web zu stellende Directory auswählen bzw. definieren?

Liebe grüsse und danke
Claudio Hediger
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: HTTP Server Home Directory Auswählen

  Alt 26. Jul 2006, 17:01
Hallo Claudio,

du kannst deinen Server über Startparameter (ParamCount, ParamStr) oder eine Steuerdatei (TMemIniFile) konfigurieren. Außerdem benötigst du eine Funktion, welche dir zu gegebenem URL den passenden Dateinamen liefert (ExpandFileName). Bei den Indy9 Demos ist ein Beispiel für einen HTTP Server mit dabei.

Grüße vom marabu
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

Re: HTTP Server Home Directory Auswählen

  Alt 27. Jul 2006, 12:13
vielen dank

hmmm köntest du mir einen link senden zu dieser demo oder am besten den code posten?

vielen dank

ich will ja nur das ein verzeichniss im web verfügbar wird
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: HTTP Server Home Directory Auswählen

  Alt 27. Jul 2006, 12:21
Hier ist der Link: Indy Demos

Grüße vom marabu
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#5

Re: HTTP Server Home Directory Auswählen

  Alt 27. Jul 2006, 12:24
vielen dank aber leider funktioniert dieses beispiel bei mir nicht es hat sehr viele undefinierte bezeichner, ca 20


kannst du mir nicht mal den code posten mit dem ich das verzeichnis definieren kann?

vielen dank
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: HTTP Server Home Directory Auswählen

  Alt 27. Jul 2006, 12:33
Suche doch mal im Quelltext des Beispiels nach ExpandFileName - darüber wird dort ein URL in einen Dateinamen umgeformt. Wenn du das Beispiel nicht übersetzen kannst, dann solltest du mal schauen was du noch installieren oder konfigurieren musst - wer weiß wann du es benötigst.

marabu
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#7

Re: HTTP Server Home Directory Auswählen

  Alt 27. Jul 2006, 14:08
ich konnte nur diesen code finden

Delphi-Quellcode:
// Interprete the command to it's final path (avoid sending files in parent folders)
    LocalDoc := ExpandFilename(edRoot.text + RequestInfo.Document);
    // Default document (index.html) for folder
    if not FileExists(LocalDoc) and DirectoryExists(LocalDoc) and FileExists(ExpandFileName(LocalDoc + '/index.html')) then
    begin
      LocalDoc := ExpandFileName(LocalDoc + '/index.html');
    end;
    if FileExists(LocalDoc) then // File exists
    begin
      if AnsiSameText(Copy(LocalDoc, 1, Length(edRoot.text)), edRoot.Text) then // File down in dir structure
      begin
        if AnsiSameText(RequestInfo.Command, 'HEAD') then
        begin
          // HEAD request, don't send the document but still send back it's size
          ResultFile := TFileStream.create(LocalDoc, fmOpenRead   or fmShareDenyWrite);
          try
            ResponseInfo.ResponseNo := 200;
            ResponseInfo.ContentType := GetMIMEType(LocalDoc);
            ResponseInfo.ContentLength := ResultFile.Size;
          finally
            ResultFile.Free; // We must free this file since it won't be done by the web server component
          end;
aber der geht nicht

So wie ich das sehe kennst du dich damit ein bisschen besser aus als ich kannst du mir den nicht einfach nur die paar zeilen posten
die ich benötige damit ich mein directory auswählen kann?

bitte

vielen dank
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: HTTP Server Home Directory Auswählen

  Alt 27. Jul 2006, 19:14
Hallo Claudio,

was funktioniert denn nicht an dem Code aus der Demo?

Die paar Zeilen, mit denen du dein Directory auswählen kannst - in der Demo wird das Directory einfach in einem Edit erfasst - könnten so aussehen:

Delphi-Quellcode:
type
  TMainForm = class(TForm)
// ...
  public
    WebRoot: String;
// ...
  end;

procedure TMainForm.RootButtonClick(Sender: TObject);
begin
  with FolderDialog do
    if Execute then
      WebRoot := Directory;
end;
FolderDialog ist vom Typ TJvBrowseForFolderDialog, einer Komponente aus der JEDI Sammlung.

Wahrscheinlich wäre es besser, wenn du mit einem etwas überschaubareren Projekt anfangen würdest. Man verliert sonst sehr leicht die Eigenmotivation.

Grüße vom marabu
  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 05:26 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