On Sat, 7 Jul 2012, John Repucci wrote:
Message: 2
Date: Sat, 7 Jul 2012 09:31:44 +0200 (CEST)
From: Michael Van Canneyt <[email protected]>
Subject: Re: [Lazarus] httpWebServer does not show images for some
users
To: Lazarus mailing list <[email protected]>
Message-ID: <[email protected]>
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
On Fri, 6 Jul 2012, John Repucci wrote:
I've been playing around with the httpwebserver and having problems
getting it to display images.
see: http://www.lazarus.freepascal.org/index.php/topic,17296.0.html
for some history on this.
I've added the project if you care to look at it.
Neither Reinier or I see the image when we compile the app, but
Leledumbo does see the image.
I also could see the image, but the URL I had to use is:
http://localhost:8081/img/index.html
The reason for this is that you have 2 modules in your application.
If you do not specify a path, the webserver has no way of determining
what module it should invoke. There is a property 'AllowDefaultModule'
which will allow to select a default module if no module name is found.
Then, if you have multiple modules, you need to tell the webserver which
is the default module to use. You can do this by setting DefaultModuleName.
So, I set up the project file by adding
Application.AllowDefaultModule:=True;
Application.DefaultModuleName:='img';
before
Application.initialize;
and then everything worked fine with the URL:
http://localhost:8081/index.html
Michael.
Michael,
After adding the above lines (thank you) and using
http://localhost:8081/index.html, I get a blank page (and nothing on
the source page). (tested using both FF and Chrome)
The only way I am able to see the expected web page is by using:
http://localhost:8081/main/default (still no image).
When I use Application.DefaultModuleName:='main', then going to
http://localhost:8081/ I see the expected page (still no image).
re: Modules - I have two modules? I see the Main module (
RegisterHTTPModule('Main', TMain)), but where is the 2nd module?
The file serving module is also a module.
It is 'hidden', as there is no visible data module for you to put components on,
but in the background there is a module nonetheless.
'img' is suppose to be the location for my image files. (in this
case, in the same directory as the application)
Well, img is the location of all files, including the index.html file ?
Which is why I put it as the default module: it first serves the index.html
file (implicitly, because there is no path, and hence the default is used),
and then the img file (explicitly, since it's URL starts with /img/).
I used the sources you sent to the mailing list, which I expect to be the
same as you are using ?
I cannot do more than explain how it works :-)
Michael.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus