[vibe.d] showing images

Rene Zwanenburg via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Oct 26 11:39:00 PDT 2016


On Wednesday, 26 October 2016 at 12:42:09 UTC, Nicholas Wilson 
wrote:
> doctype html
> html
>     body
>         -foreach(s; images)
>             // it doesn't seem to like #{s} or !{s}
>             img(src=s)
>
> ----------
> shared static this()
> {
>     auto router = new URLRouter;
>     router.registerWebInterface(new CamController);
>
>     auto settings = new HTTPServerSettings;
>     settings.port = 8081;
>     settings.bindAddresses = ["::1", "127.0.0.1"];
>     listenHTTP(settings, router);
>
>
> }
> class Controller
> {
>     void index(HTTPServerRequest req, HTTPServerResponse res)
>     {
>         auto images = 
> dirEntries("public/images",SpanMode.breadth)
>                         .map!(f=> f.name).array;
>         writeln(images); // ["public/images/testprog.jpg"]
>         res.render!("index.dt",images);
>     }
>  }
>
> What am I missing? I just get a 404 for the image.

You need to make the images accessible over HTTP. Note the use of 
staticFileServer in the following example:

http://vibed.org/docs#http-routing


More information about the Digitalmars-d-learn mailing list