AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy HTTP Server zeigt keine Bilder an ?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy HTTP Server zeigt keine Bilder an ?

Ein Thema von Calimero · begonnen am 18. Jul 2004 · letzter Beitrag vom 18. Jul 2004
Antwort Antwort
Benutzerbild von Calimero
Calimero

Registriert seit: 8. Mär 2003
Ort: Krefeld
69 Beiträge
 
Delphi 6 Personal
 
#1

Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 10:23
Wenn ich versuche eine Seite mit Bildern aufzurufen zeigt er mir keine Bilder an oder nur die hälfte eines Bildes ! Mime Type ist auch richtig ! Warum will er nicht ?
Habe folgenden Programm Code benutzt bez. geschrieben.

Code:
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
Var
  Stream: TFilestream;
  begin

if ARequestInfo.Document = '/' then begin
IF fileexists(DocumentRoot + 'index.html') = true then ARequestInfo.Document := 'index.html';
IF fileexists(DocumentRoot + 'index.htm') = true then ARequestInfo.Document := 'index.htm';
IF fileexists(DocumentRoot + 'index.php') = true then ARequestInfo.Document := 'index.php';
end;

Stream := TfileStream.Create(DocumentRoot + ARequestInfo.Document, fmOpenRead or fmShareDenyWrite );
AResponseInfo.ContentStream := Stream;
end;
***** I like Delphi & Rapidq and C *****
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 11:11
Zeig er dir etwa seiten an, so wie dein Sourse aussieht dürfte dir auch keine html-seite angezeigt werden. Du öffnest zwar eine Datei in einem Stream mit
Stream := TfileStream.Create(DocumentRoot + ARequestInfo.Document, fmOpenRead or fmShareDenyWrite); aber du lieferst nirgends den String zurück an den Client (z.B.: per AResponseInfo.ResponseText)
desweiteren rufst du nirgends Stream.Free auf. Was bringt es dir eine datei per stream zu öffnen wenn du dann nix damit machst (auslesen, etc.)

Anstelle der Code-Tags könntest du auch die "Delphi-Code" Tags verwenden. Außerdem wäre eine ordentliche Formatierung (einrückung) sehr zu empfehlen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Calimero
Calimero

Registriert seit: 8. Mär 2003
Ort: Krefeld
69 Beiträge
 
Delphi 6 Personal
 
#3

Re: Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 11:53
sorry hatte ich vergessen zu posten, natürlich schick in den stream mit.

Code:
AResponseInfo.ContentStream := Stream;
trotzdem zeigt er mit nur halbe bilder an oder gar keine
***** I like Delphi & Rapidq and C *****
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 12:21
dann versuche einfach mal den Stream in den ResponseString zu stopfen ob es dann funktioniert, so hab ichs zumindest gemacht bei meinem server und das funktioniert supi
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Calimero
Calimero

Registriert seit: 8. Mär 2003
Ort: Krefeld
69 Beiträge
 
Delphi 6 Personal
 
#5

Re: Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 13:13
Jo, gute frage nächste frage würd es gerne probieren bloss hab noch nie ein
filestream in Delphi in ein string gepackt wie macht man das ?
***** I like Delphi & Rapidq and C *****
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 13:48
ganz einfach
Delphi-Quellcode:
 setlength(TheString, stream.size);
 stream.Read(TheString[1], stream.size);
danach ist in TheString der Inhalt des Streams
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Calimero
Calimero

Registriert seit: 8. Mär 2003
Ort: Krefeld
69 Beiträge
 
Delphi 6 Personal
 
#7

Re: Indy HTTP Server zeigt keine Bilder an ?

  Alt 18. Jul 2004, 16:46
THX es funktioniert
***** I like Delphi & Rapidq and C *****
  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 04:59 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